In [ ]:
. ./nbs_header.ps1
. ./core.ps1
In [ ]:
{ . "$ScriptDir/../apps/builder/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # DibParser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsec.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsecCS.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Runtime.fs
#!import ../nbs/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder:...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FParsec
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## escapeCell (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline escapeCell input =
input
|> String.split [[| '\n' |]]
|> Array.map (function
| line when line |> String.startsWith "\\#!" || line |>
String.startsWith "\\#r" ->
System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#")
| line -> line
)
|> String.concat "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
$"a{nl}\\#!magic{nl}b{nl}"
|> escapeCell
|> _equal (
$"a{nl}#!magic{nl}b{nl}"
)
╭─[ 57.02ms - stdout ]─────────────────────────────────────────────────────────╮
│ a │
│ #!magic │
│ b │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicMarker │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicMarker : Parser<string, unit> = pstring "#!"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic"
|> run magicMarker
|> _equal (
Success ("#!", (), Position ("", 2, 1, 3))
)
╭─[ 55.72ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #! │
│ Item2: <null> │
│ Item3: Position │
│ Index: 2 │
│ Line: 1 │
│ Column: 3 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"##!magic"
|> run magicMarker
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 116.20ms - stdout ]────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ ##!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicCommand │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicCommand =
magicMarker
>>. manyTill anyChar newline
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a"
|> run magicCommand
|> _equal (
Success ("magic", (), Position ("", 8, 2, 1))
)
╭─[ 42.30ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: magic │
│ Item2: <null> │
│ Item3: Position │
│ Index: 8 │
│ Line: 2 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
" #!magic
a"
|> run magicCommand
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 40.07ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ #!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## content │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let content =
(newline >>. magicMarker) <|> (eof >>. preturn "")
|> attempt
|> lookAhead
|> manyTill anyChar
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run content
|> _equal (
Success ("#!magic
a", (), Position ("", 14, 7, 1))
)
╭─[ 33.28ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #!magic │
│ │
│ │
│ a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Block =
{
magic : string
content : string
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let block =
pipe2
magicCommand
content
(fun magic content ->
{
magic = magic
content = content
})
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run block
|> _equal (
Success (
{ magic = "magic"; content = "a" },
(),
Position ("", 14, 7, 1)
)
)
╭─[ 40.42ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: Block │
│ magic: magic │
│ content: a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## blocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let blocks =
skipMany newline
>>. sepEndBy block (skipMany1 newline)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic1
a
\#!magic2
b
"
|> escapeCell
|> run blocks
|> _equal (
Success (
[[
{ magic = "magic1"; content = "a" }
{ magic = "magic2"; content = "b" }
]],
(),
Position ("", 26, 9, 1)
)
)
╭─[ 49.98ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: FSharpList<Block> │
│ - magic: magic1 │
│ content: a │
│ - magic: magic2 │
│ content: b │
│ Item2: <null> │
│ Item3: Position │
│ Index: 26 │
│ Line: 9 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Output │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Output =
| Fs
| Md
| Spi
| Spir
let inline kernelOutputs magic =
match magic with
| "fsharp" -> [[ Fs ]]
| "markdown" -> [[ Md ]]
| "spiral" -> [[ Spi; Spir ]]
| _ -> [[]]
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlock │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlock output (block : Block) =
match output, block with
| output, { magic = "markdown"; content = content } ->
let markdownComment =
match output with
| Spi | Spir -> "// // "
| Fs -> "/// "
| _ -> ""
content
|> String.split [[| '\n' |]]
|> Array.map (String.trimEnd [[||]])
|> Array.filter (String.endsWith " (test)" >> not)
|> Array.map (function
| "" -> markdownComment |> String.trim
| line -> System.Text.RegularExpressions.Regex.Replace (line,
"^\\s*", $"$&{markdownComment}")
)
|> String.concat "\n"
| Fs, { magic = "fsharp"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "//// test" || trimmedContent |>
String.startsWith "//// ignore"
then ""
else
content
|> String.split [[| '\n' |]]
|> Array.filter (String.trimStart [[||]] >> String.startsWith "#r"
>> not)
|> String.concat "\n"
| (Spi | Spir), { magic = "spiral"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "// // test" || trimmedContent |>
String.startsWith "// // ignore"
then ""
else content
| _ -> ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
c
\#!markdown
c
\#!fsharp
let a = 1"
|> escapeCell
|> run block
|> function
| Success (block, _, _) -> formatBlock Fs block
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
///
/// c"
╭─[ 59.44ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ /// │
│ /// c │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlocks output blocks =
blocks
|> List.map (formatBlock output)
|> List.filter ((<>) "")
|> String.concat "\n\n"
|> fun s -> s + "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
\#!markdown
c
\#!fsharp
let a = 1
\#!markdown
d (test)
\#!fsharp
//// test
let a = 2
\#!markdown
e
\#!fsharp
let a = 3"
|> escapeCell
|> run blocks
|> function
| Success (blocks, _, _) -> formatBlocks Fs blocks
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
/// c
let a = 1
/// e
let a = 3
"
╭─[ 72.53ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ │
│ /// c │
│ │
│ let a = 1 │
│ │
│ /// e │
│ │
│ let a = 3 │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parse │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parse output input =
match run blocks input with
| Success (blocks, _, _) ->
let blocks =
blocks
|> List.filter (fun block ->
block.magic |> kernelOutputs |> List.contains output ||
block.magic = "markdown"
)
match blocks with
| { magic = "markdown"; content = content } :: _
when output = Fs
&& content |> String.startsWith "# "
&& content |> String.endsWith ")"
->
let inline indentBlock (block : Block) =
{ block with
content =
block.content
|> String.split [[| '\n' |]]
|> Array.fold
(fun (lines, isMultiline) line ->
let trimmedLine = line |> String.trim
if trimmedLine = ""
then "" :: lines, isMultiline
else
let inline singleQuoteLine () =
trimmedLine |> Seq.sumBy ((=) '"' >>
System.Convert.ToInt32) = 1
&& trimmedLine |> String.contains
@"'""'" |> not
&& trimmedLine |> String.endsWith "{" |>
not
&& trimmedLine |> String.endsWith "{|"
|> not
&& trimmedLine |> String.startsWith "}"
|> not
&& trimmedLine |> String.startsWith "|}"
|> not
match isMultiline, trimmedLine |>
String.splitString [[| $"{q}{q}{q}" |]] with
| false, [[| _; _ |]] ->
$" {line}" :: lines, true
| true, [[| _; _ |]] ->
line :: lines, false
| false, _ when singleQuoteLine () ->
$" {line}" :: lines, true
| false, _ when line |> String.startsWith
"#" && block.magic = "fsharp" ->
line :: lines, false
| false, _ ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () && line |>
String.startsWith " " ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () ->
line :: lines, false
| true, _ ->
line :: lines, true
)
([[]], false)
|> fst
|> List.rev
|> String.concat "\n"
}
let moduleName, namespaceName =
System.Text.RegularExpressions.Regex.Match (content, @"# (.*)
\((.*)\)$")
|> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value
let moduleBlock =
{
magic = "fsharp"
content =
$"#if !INTERACTIVE
namespace {namespaceName}
#endif
module {moduleName} ="
}
blocks
|> List.indexed
|> List.fold
(fun blocks (index, block) ->
match index with
| 0 -> blocks
| 1 -> indentBlock block :: moduleBlock :: blocks
| _ -> indentBlock block :: blocks
)
[[]]
|> List.rev
| _ -> blocks
|> Result.Ok
| Failure (errorMsg, _, _) -> Result.Error errorMsg
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example1 =
$"""#!meta
{{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name":
"fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}}
\#!markdown
# TestModule (TestNamespace)
\#!fsharp
\#!import file.dib
\#!fsharp
\#r "nuget:Expecto"
\#!markdown
## ParserLibrary
\#!fsharp
open System
\#!markdown
## x (test)
\#!fsharp
//// ignore
let x = 1
\#!spiral
// // test
inl x = 0i32
\#!spiral
inl x = 0i32
\#!markdown
### TextInput
\#!fsharp
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
\#!fsharp
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}"""
|> escapeCell
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Fs
|> Result.toOption
|> Option.get
|> (formatBlocks Fs)
|> _equal $"""#if !INTERACTIVE
namespace TestNamespace
#endif
module TestModule =
/// ## ParserLibrary
open System
/// ### TextInput
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}
"""
╭─[ 171.52ms - stdout ]────────────────────────────────────────────────────────╮
│ #if !INTERACTIVE │
│ namespace TestNamespace │
│ #endif │
│ │
│ module TestModule = │
│ │
│ /// ## ParserLibrary │
│ │
│ open System │
│ │
│ /// ### TextInput │
│ │
│ let str1 = "abc │
│ def" │
│ │
│ let str2 = │
│ "abc\ │
│ def" │
│ │
│ let str3 = │
│ $"1{ │
│ 1 │
│ }1" │
│ │
│ let str4 = │
│ $"1{({| │
│ a = 1 │
│ |}).a}1" │
│ │
│ let str5 = │
│ "abc \ │
│ def" │
│ │
│ let x = │
│ match '"' with │
│ | '"' -> true │
│ | _ -> false │
│ │
│ let long1 = """a""" │
│ │
│ let long2 = │
│ """ │
│ a │
│ """ │
│ │
│ type Position = │
│ { │
│ #if INTERACTIVE │
│ line : string │
│ #else │
│ line : int │
│ #endif │
│ column : int │
│ } │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Md
|> Result.toOption
|> Option.get
|> (formatBlocks Md)
|> _equal "# TestModule (TestNamespace)
## ParserLibrary
### TextInput
"
╭─[ 158.09ms - stdout ]────────────────────────────────────────────────────────╮
│ # TestModule (TestNamespace) │
│ │
│ ## ParserLibrary │
│ │
│ ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Spi
|> Result.toOption
|> Option.get
|> (formatBlocks Spi)
|> _equal "// // # TestModule (TestNamespace)
// // ## ParserLibrary
inl x = 0i32
// // ### TextInput
"
╭─[ 162.57ms - stdout ]────────────────────────────────────────────────────────╮
│ // // # TestModule (TestNamespace) │
│ │
│ // // ## ParserLibrary │
│ │
│ inl x = 0i32 │
│ │
│ // // ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parseDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseDibCode output file = async {
let getLocals () = $"output: {output} / file: {file} / {getLocals ()}"
trace Debug (fun () -> "parseDibCode") getLocals
let! input = file |> FileSystem.readAllTextAsync
match parse output input with
| Result.Ok blocks -> return blocks |> formatBlocks output
| Result.Error msg -> return failwith msg
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeDibCode output path = async {
let getLocals () = $"output: {output} / path: {path} / {getLocals ()}"
trace Debug (fun () -> "writeDibCode") getLocals
let! result = parseDibCode output path
let outputPath = path |> String.replace ".dib" $".{output |> string |>
String.toLower}"
do! result |> FileSystem.writeAllTextAsync outputPath
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]]
File of file : string * Output
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| File _ -> nameof File
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let files =
argsMap.[[nameof Arguments.File]]
|> List.map (function
| Arguments.File (path, output) -> path, output
)
files
|> List.map (fun (path, output) -> path |> writeDibCode output)
|> Async.Parallel
|> Async.Ignore
|> Async.runWithTimeout 30000
|> function
| Some () -> 0
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 243.63ms - return value ]──────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 257.84ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] writeDibCode / output: Fs / path: Builder.dib │
│ 00:00:00 #2 [Debug] parseDibCode / output: Fs / file: Builder.dib │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Builder (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Networking.fs
#!import ../nbs/Runtime.fs
#!import ../nbs/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Networking =
open Common
/// ## testPortOpen
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
printException}") getLocals
return false
}
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder:...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FileSystem.Operators
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildProject │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildProject runtime path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let fileDir = fullPath |> System.IO.Path.GetDirectoryName
let extension = fullPath |> System.IO.Path.GetExtension
let getLocals () = $"fullPath: {fullPath} / {getLocals ()}"
trace Debug (fun () -> "buildProject") getLocals
match extension with
| ".fsproj" -> ()
| _ -> failwith "Invalid project file"
let runtimes =
runtime
|> Option.map List.singleton
|> Option.defaultValue [[ "linux-x64"; "win-x64" ]]
return!
runtimes
|> List.map (fun runtime -> async {
let! exitCode, _result =
Runtime.executeWithOptionsAsync
{
Command = $"dotnet publish -c release -o ../dist -r
{runtime}"
CancellationToken = None
OnLine = None
WorkingDirectory = Some fileDir
}
return exitCode
})
|> Async.Sequential
|> Async.map Array.sum
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## persistCodeProject │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline persistCodeProject packages modules path name code = async {
let getLocals () = $"packages: {packages} / modules: {modules} / path:
{path} / name: {name} / code.Length: {code |> String.length} / {getLocals ()}"
trace Debug (fun () -> "persistCodeProject") getLocals
let targetPath = path </> "target"
System.IO.Directory.CreateDirectory targetPath |> ignore
let filePath = targetPath </> $"{name}.fs" |> System.IO.Path.GetFullPath
do! code |> FileSystem.writeAllTextExists filePath
let repositoryRoot = FileSystem.getSourceDirectory () |>
FileSystem.findParent ".paket" false
let modulesCode =
modules
|> List.map (fun path -> $"""<Compile Include="{repositoryRoot </>
path}" />""")
|> String.concat "\n "
let fsprojPath = targetPath </> $"{name}.fsproj"
let fsprojCode = $"""<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>preview</LangVersion>
<RollForward>Major</RollForward>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<PublishAot>false</PublishAot>
<PublishTrimmed>false</PublishTrimmed>
<PublishSingleFile>true</PublishSingleFile>
<SelfContained>true</SelfContained>
<Version>0.0.1-alpha.1</Version>
<OutputType>Exe</OutputType>
</PropertyGroup>
<ItemGroup>
{modulesCode}
<Compile Include="{filePath}" />
</ItemGroup>
<Import Project="{repositoryRoot}/.paket/Paket.Restore.targets" />
</Project>
"""
do! fsprojCode |> FileSystem.writeAllTextExists fsprojPath
let paketReferencesPath = targetPath </> "paket.references"
let paketReferencesCode =
"FSharp.Core" :: packages
|> String.concat "\n"
do! paketReferencesCode |> FileSystem.writeAllTextExists paketReferencesPath
return fsprojPath
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildCode runtime packages modules path name code = async {
let! fsprojPath = persistCodeProject packages modules path name code
return! fsprojPath |> buildProject runtime
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.getSourceDirectory () </> "target/test"
"1 + 1"
|> buildCode None [[]] [[]] tempFolder "test"
|> Async.runWithTimeout 60000
|> _equal (Some 0)
╭─[ 24.06s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] persistCodeProject / packages: [] / modules: [] / path: │
│ C:\home\git\polyglot\apps\builder\target/test / name: test / code.Length: 5 │
│ 00:00:00 #2 [Debug] buildProject / fullPath: │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj │
│ 00:00:00 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c │
│ release -o ../dist -r linux-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:00 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │
│ .NET │
│ 00:00:01 #5 [Debug] > Determining projects to restore... │
│ 00:00:02 #6 [Debug] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 699 │
│ ms). │
│ 00:00:02 #7 [Debug] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:05 #8 [Debug] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,1): warning │
│ FS0020: The result of this expression has type 'int' and is implicitly │
│ ignored. Consider using 'ignore' to discard this value explicitly, e.g. │
│ 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = │
│ expr'. [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:05 #9 [Debug] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,6): warning │
│ FS0988: Main module of program is empty: nothing will happen when it is run │
│ [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:07 #10 [Debug] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\target\bin\release\net8.0\linu │
│ x-x64\test.dll │
│ 00:00:09 #11 [Debug] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\dist\ │
│ 00:00:09 #12 [Debug] executeAsync / exitCode: 0 / proc.Id: 68512 / │
│ output.Length: 1240 │
│ 00:00:09 #13 [Debug] executeAsync / options: { Command = "dotnet publish -c │
│ release -o ../dist -r win-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:10 #14 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │
│ .NET │
│ 00:00:11 #15 [Debug] > Determining projects to restore... │
│ 00:00:12 #16 [Debug] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 510 │
│ ms). │
│ 00:00:13 #17 [Debug] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:15 #18 [Debug] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,1): warning │
│ FS0020: The result of this expression has type 'int' and is implicitly │
│ ignored. Consider using 'ignore' to discard this value explicitly, e.g. │
│ 'expr |> ignore', or 'let' to bind the result to a name, e.g. 'let result = │
│ expr'. [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:15 #19 [Debug] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,6): warning │
│ FS0988: Main module of program is empty: nothing will happen when it is run │
│ [C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:16 #20 [Debug] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\target\bin\release\net8.0\win- │
│ x64\test.dll │
│ 00:00:23 #21 [Debug] > test -> │
│ C:\home\git\polyglot\apps\builder\target\test\dist\ │
│ 00:00:23 #22 [Debug] executeAsync / exitCode: 0 / proc.Id: 46864 / │
│ output.Length: 1238 │
│ FSharpOption<Int32> │
│ Value: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.getSourceDirectory () </> "target/test"
"1 + a"
|> buildCode None [[]] [[]] tempFolder "test"
|> Async.runWithTimeout 60000
|> _equal (Some 2)
╭─[ 8.00s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:23 #23 [Debug] persistCodeProject / packages: [] / modules: [] / path: │
│ C:\home\git\polyglot\apps\builder\target/test / name: test / code.Length: 5 │
│ 00:00:24 #24 [Debug] buildProject / fullPath: │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj │
│ 00:00:24 #25 [Debug] executeAsync / options: { Command = "dotnet publish -c │
│ release -o ../dist -r linux-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:24 #26 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │
│ .NET │
│ 00:00:25 #27 [Debug] > Determining projects to restore... │
│ 00:00:25 #28 [Debug] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 408 │
│ ms). │
│ 00:00:25 #29 [Debug] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:27 #30 [Debug] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,5): error │
│ FS0039: The value or constructor 'a' is not defined. [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:27 #31 [Debug] executeAsync / exitCode: 1 / proc.Id: 37864 / │
│ output.Length: 684 │
│ 00:00:27 #32 [Debug] executeAsync / options: { Command = "dotnet publish -c │
│ release -o ../dist -r win-x64" │
│ WorkingDirectory = Some │
│ "C:\home\git\polyglot\apps\builder\target\test\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:27 #33 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │
│ .NET │
│ 00:00:28 #34 [Debug] > Determining projects to restore... │
│ 00:00:29 #35 [Debug] > Restored │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj (in 334 │
│ ms). │
│ 00:00:29 #36 [Debug] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:31 #37 [Debug] > │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fs(1,5): error │
│ FS0039: The value or constructor 'a' is not defined. [ │
│ C:\home\git\polyglot\apps\builder\target\test\target\test.fsproj] │
│ 00:00:31 #38 [Debug] executeAsync / exitCode: 1 / proc.Id: 55216 / │
│ output.Length: 684 │
│ FSharpOption<Int32> │
│ Value: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildFile │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildFile runtime packages modules path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let dir = fullPath |> System.IO.Path.GetDirectoryName
let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension
let! code = fullPath |> FileSystem.readAllTextAsync
let code = System.Text.RegularExpressions.Regex.Replace (
code,
@"( *)(let\s+main\s+.*?\s*=)",
fun m -> m.Groups.[[1]].Value + "[[<EntryPoint>]]\n" +
m.Groups.[[1]].Value + m.Groups.[[2]].Value
)
return! code |> buildCode runtime packages modules dir fileName
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce>]]
Path of path : string
| [[<Argu.ArguAttributes.Unique>]] Packages of packages : string list
| [[<Argu.ArguAttributes.Unique>]] Modules of modules : string list
| [[<Argu.ArguAttributes.Unique>]] Runtime of runtime : string
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Path _ -> nameof Path
| Packages _ -> nameof Packages
| Modules _ -> nameof Modules
| Runtime _ -> nameof Runtime
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let path =
match argsMap.[[nameof Arguments.Path]] with
| [[ Arguments.Path path ]] -> Some path
| _ -> None
|> Option.get
let packages =
match argsMap |> Map.tryFind (nameof Arguments.Packages) with
| Some [[ Arguments.Packages packages ]] -> packages
| _ -> [[]]
let modules =
match argsMap |> Map.tryFind (nameof Arguments.Modules) with
| Some [[ Arguments.Modules modules ]] -> modules
| _ -> [[]]
let runtime =
match argsMap |> Map.tryFind (nameof Arguments.Runtime) with
| Some [[ Arguments.Runtime runtime ]] -> Some runtime
| _ -> None
path
|> buildFile runtime packages modules
|> Async.runWithTimeout 60000
|> function
| Some exitCode -> exitCode
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 29.85s - return value ]────────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 29.86s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:33 #39 [Debug] persistCodeProject / packages: [Argu; │
│ FSharp.Control.AsyncSeq; System.CommandLine; ... ] / modules: [ │
│ nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Async.fs; ... ] / path: │
│ C:\home\git\polyglot\apps\builder / name: Builder / code.Length: 5979 │
│ 00:00:33 #40 [Debug] buildProject / fullPath: │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj │
│ 00:00:33 #41 [Debug] executeAsync / options: { Command = "dotnet publish -c │
│ release -o ../dist -r linux-x64" │
│ WorkingDirectory = Some "C:\home\git\polyglot\apps\builder\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:33 #42 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │
│ .NET │
│ 00:00:34 #43 [Debug] > Determining projects to restore... │
│ 00:00:34 #44 [Debug] > Restored │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj (in 459 ms). │
│ 00:00:35 #45 [Debug] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj] │
│ 00:00:41 #46 [Debug] > Builder -> │
│ C:\home\git\polyglot\apps\builder\target\bin\release\net8.0\linux-x64\Builde │
│ r.dll │
│ 00:00:43 #47 [Debug] > Builder -> C:\home\git\polyglot\apps\builder\dist\ │
│ 00:00:43 #48 [Debug] executeAsync / exitCode: 0 / proc.Id: 31672 / │
│ output.Length: 621 │
│ 00:00:43 #49 [Debug] executeAsync / options: { Command = "dotnet publish -c │
│ release -o ../dist -r win-x64" │
│ WorkingDirectory = Some "C:\home\git\polyglot\apps\builder\target" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:43 #50 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for │
│ .NET │
│ 00:00:44 #51 [Debug] > Determining projects to restore... │
│ 00:00:44 #52 [Debug] > Restored │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj (in 417 ms). │
│ 00:00:44 #53 [Debug] > C:\Program │
│ Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microso │
│ ft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You │
│ are using a preview version of .NET. See: │
│ https://aka.ms/dotnet-support-policy [ │
│ C:\home\git\polyglot\apps\builder\target\Builder.fsproj] │
│ 00:00:51 #54 [Debug] > Builder -> │
│ C:\home\git\polyglot\apps\builder\target\bin\release\net8.0\win-x64\Builder. │
│ dll │
│ 00:01:02 #55 [Debug] > Builder -> C:\home\git\polyglot\apps\builder\dist\ │
│ 00:01:02 #56 [Debug] executeAsync / exitCode: 0 / proc.Id: 48508 / │
│ output.Length: 619 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Builder.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 317877 bytes to Builder.dib.html
In [ ]:
{ . "$ScriptDir/../apps/parser/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # DibParser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsec.dll"
#r
@"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP
arsecCS.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Runtime.fs
#!import ../nbs/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder:...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FParsec
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## escapeCell (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline escapeCell input =
input
|> String.split [[| '\n' |]]
|> Array.map (function
| line when line |> String.startsWith "\\#!" || line |>
String.startsWith "\\#r" ->
System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#")
| line -> line
)
|> String.concat "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
$"a{nl}\\#!magic{nl}b{nl}"
|> escapeCell
|> _equal (
$"a{nl}#!magic{nl}b{nl}"
)
╭─[ 64.30ms - stdout ]─────────────────────────────────────────────────────────╮
│ a │
│ #!magic │
│ b │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicMarker │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicMarker : Parser<string, unit> = pstring "#!"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic"
|> run magicMarker
|> _equal (
Success ("#!", (), Position ("", 2, 1, 3))
)
╭─[ 60.52ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #! │
│ Item2: <null> │
│ Item3: Position │
│ Index: 2 │
│ Line: 1 │
│ Column: 3 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"##!magic"
|> run magicMarker
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 70.22ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ ##!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## magicCommand │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let magicCommand =
magicMarker
>>. manyTill anyChar newline
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a"
|> run magicCommand
|> _equal (
Success ("magic", (), Position ("", 8, 2, 1))
)
╭─[ 43.26ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: magic │
│ Item2: <null> │
│ Item3: Position │
│ Index: 8 │
│ Line: 2 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
" #!magic
a"
|> run magicCommand
|> _equal (
Failure (
$"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}",
ParserError (
Position ("", 0, 1, 1),
(),
ErrorMessageList (ExpectedString "#!")
),
()
)
)
╭─[ 53.87ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: Error in Ln: 1 Col: 1 │
│ #!magic │
│ ^ │
│ Expecting: '#!' │
│ │
│ Item2: ParserError │
│ Position: Position │
│ Index: 0 │
│ Line: 1 │
│ Column: 1 │
│ StreamName: │
│ UserState: <null> │
│ Messages: ErrorMessageList │
│ Head: ExpectedString │
│ String: #! │
│ Type: ExpectedString │
│ Tail: <null> │
│ Item3: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## content │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let content =
(newline >>. magicMarker) <|> (eof >>. preturn "")
|> attempt
|> lookAhead
|> manyTill anyChar
|>> (System.String.Concat >> String.trim)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run content
|> _equal (
Success ("#!magic
a", (), Position ("", 14, 7, 1))
)
╭─[ 37.99ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: #!magic │
│ │
│ │
│ a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Block =
{
magic : string
content : string
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## block │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let block =
pipe2
magicCommand
content
(fun magic content ->
{
magic = magic
content = content
})
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic
a
"
|> run block
|> _equal (
Success (
{ magic = "magic"; content = "a" },
(),
Position ("", 14, 7, 1)
)
)
╭─[ 45.91ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: Block │
│ magic: magic │
│ content: a │
│ Item2: <null> │
│ Item3: Position │
│ Index: 14 │
│ Line: 7 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## blocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let blocks =
skipMany newline
>>. sepEndBy block (skipMany1 newline)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!magic1
a
\#!magic2
b
"
|> escapeCell
|> run blocks
|> _equal (
Success (
[[
{ magic = "magic1"; content = "a" }
{ magic = "magic2"; content = "b" }
]],
(),
Position ("", 26, 9, 1)
)
)
╭─[ 61.18ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item1: FSharpList<Block> │
│ - magic: magic1 │
│ content: a │
│ - magic: magic2 │
│ content: b │
│ Item2: <null> │
│ Item3: Position │
│ Index: 26 │
│ Line: 9 │
│ Column: 1 │
│ StreamName: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Output │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Output =
| Fs
| Md
| Spi
| Spir
let inline kernelOutputs magic =
match magic with
| "fsharp" -> [[ Fs ]]
| "markdown" -> [[ Md ]]
| "spiral" -> [[ Spi; Spir ]]
| _ -> [[]]
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlock │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlock output (block : Block) =
match output, block with
| output, { magic = "markdown"; content = content } ->
let markdownComment =
match output with
| Spi | Spir -> "// // "
| Fs -> "/// "
| _ -> ""
content
|> String.split [[| '\n' |]]
|> Array.map (String.trimEnd [[||]])
|> Array.filter (String.endsWith " (test)" >> not)
|> Array.map (function
| "" -> markdownComment |> String.trim
| line -> System.Text.RegularExpressions.Regex.Replace (line,
"^\\s*", $"$&{markdownComment}")
)
|> String.concat "\n"
| Fs, { magic = "fsharp"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "//// test" || trimmedContent |>
String.startsWith "//// ignore"
then ""
else
content
|> String.split [[| '\n' |]]
|> Array.filter (String.trimStart [[||]] >> String.startsWith "#r"
>> not)
|> String.concat "\n"
| (Spi | Spir), { magic = "spiral"; content = content } ->
let trimmedContent = content |> String.trim
if trimmedContent |> String.startsWith "// // test" || trimmedContent |>
String.startsWith "// // ignore"
then ""
else content
| _ -> ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
c
\#!markdown
c
\#!fsharp
let a = 1"
|> escapeCell
|> run block
|> function
| Success (block, _, _) -> formatBlock Fs block
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
///
/// c"
╭─[ 74.02ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ /// │
│ /// c │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## formatBlocks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline formatBlocks output blocks =
blocks
|> List.map (formatBlock output)
|> List.filter ((<>) "")
|> String.concat "\n\n"
|> fun s -> s + "\n"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"#!markdown
a
b
\#!markdown
c
\#!fsharp
let a = 1
\#!markdown
d (test)
\#!fsharp
//// test
let a = 2
\#!markdown
e
\#!fsharp
let a = 3"
|> escapeCell
|> run blocks
|> function
| Success (blocks, _, _) -> formatBlocks Fs blocks
| Failure (msg, _, _) -> failwith msg
|> _equal "/// a
///
/// b
/// c
let a = 1
/// e
let a = 3
"
╭─[ 85.87ms - stdout ]─────────────────────────────────────────────────────────╮
│ /// a │
│ /// │
│ /// b │
│ │
│ /// c │
│ │
│ let a = 1 │
│ │
│ /// e │
│ │
│ let a = 3 │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parse │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parse output input =
match run blocks input with
| Success (blocks, _, _) ->
let blocks =
blocks
|> List.filter (fun block ->
block.magic |> kernelOutputs |> List.contains output ||
block.magic = "markdown"
)
match blocks with
| { magic = "markdown"; content = content } :: _
when output = Fs
&& content |> String.startsWith "# "
&& content |> String.endsWith ")"
->
let inline indentBlock (block : Block) =
{ block with
content =
block.content
|> String.split [[| '\n' |]]
|> Array.fold
(fun (lines, isMultiline) line ->
let trimmedLine = line |> String.trim
if trimmedLine = ""
then "" :: lines, isMultiline
else
let inline singleQuoteLine () =
trimmedLine |> Seq.sumBy ((=) '"' >>
System.Convert.ToInt32) = 1
&& trimmedLine |> String.contains
@"'""'" |> not
&& trimmedLine |> String.endsWith "{" |>
not
&& trimmedLine |> String.endsWith "{|"
|> not
&& trimmedLine |> String.startsWith "}"
|> not
&& trimmedLine |> String.startsWith "|}"
|> not
match isMultiline, trimmedLine |>
String.splitString [[| $"{q}{q}{q}" |]] with
| false, [[| _; _ |]] ->
$" {line}" :: lines, true
| true, [[| _; _ |]] ->
line :: lines, false
| false, _ when singleQuoteLine () ->
$" {line}" :: lines, true
| false, _ when line |> String.startsWith
"#" && block.magic = "fsharp" ->
line :: lines, false
| false, _ ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () && line |>
String.startsWith " " ->
$" {line}" :: lines, false
| true, _ when singleQuoteLine () ->
line :: lines, false
| true, _ ->
line :: lines, true
)
([[]], false)
|> fst
|> List.rev
|> String.concat "\n"
}
let moduleName, namespaceName =
System.Text.RegularExpressions.Regex.Match (content, @"# (.*)
\((.*)\)$")
|> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value
let moduleBlock =
{
magic = "fsharp"
content =
$"#if !INTERACTIVE
namespace {namespaceName}
#endif
module {moduleName} ="
}
blocks
|> List.indexed
|> List.fold
(fun blocks (index, block) ->
match index with
| 0 -> blocks
| 1 -> indentBlock block :: moduleBlock :: blocks
| _ -> indentBlock block :: blocks
)
[[]]
|> List.rev
| _ -> blocks
|> Result.Ok
| Failure (errorMsg, _, _) -> Result.Error errorMsg
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example1 =
$"""#!meta
{{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name":
"fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}}
\#!markdown
# TestModule (TestNamespace)
\#!fsharp
\#!import file.dib
\#!fsharp
\#r "nuget:Expecto"
\#!markdown
## ParserLibrary
\#!fsharp
open System
\#!markdown
## x (test)
\#!fsharp
//// ignore
let x = 1
\#!spiral
// // test
inl x = 0i32
\#!spiral
inl x = 0i32
\#!markdown
### TextInput
\#!fsharp
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
\#!fsharp
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}"""
|> escapeCell
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Fs
|> Result.toOption
|> Option.get
|> (formatBlocks Fs)
|> _equal $"""#if !INTERACTIVE
namespace TestNamespace
#endif
module TestModule =
/// ## ParserLibrary
open System
/// ### TextInput
let str1 = "abc
def"
let str2 =
"abc\
def"
let str3 =
$"1{{
1
}}1"
let str4 =
$"1{{({{|
a = 1
|}}).a}}1"
let str5 =
"abc \
def"
let x =
match '"' with
| '"' -> true
| _ -> false
let long1 = {q}{q}{q}a{q}{q}{q}
let long2 =
{q}{q}{q}
a
{q}{q}{q}
type Position =
{{
#if INTERACTIVE
line : string
#else
line : int
#endif
column : int
}}
"""
╭─[ 184.37ms - stdout ]────────────────────────────────────────────────────────╮
│ #if !INTERACTIVE │
│ namespace TestNamespace │
│ #endif │
│ │
│ module TestModule = │
│ │
│ /// ## ParserLibrary │
│ │
│ open System │
│ │
│ /// ### TextInput │
│ │
│ let str1 = "abc │
│ def" │
│ │
│ let str2 = │
│ "abc\ │
│ def" │
│ │
│ let str3 = │
│ $"1{ │
│ 1 │
│ }1" │
│ │
│ let str4 = │
│ $"1{({| │
│ a = 1 │
│ |}).a}1" │
│ │
│ let str5 = │
│ "abc \ │
│ def" │
│ │
│ let x = │
│ match '"' with │
│ | '"' -> true │
│ | _ -> false │
│ │
│ let long1 = """a""" │
│ │
│ let long2 = │
│ """ │
│ a │
│ """ │
│ │
│ type Position = │
│ { │
│ #if INTERACTIVE │
│ line : string │
│ #else │
│ line : int │
│ #endif │
│ column : int │
│ } │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Md
|> Result.toOption
|> Option.get
|> (formatBlocks Md)
|> _equal "# TestModule (TestNamespace)
## ParserLibrary
### TextInput
"
╭─[ 236.18ms - stdout ]────────────────────────────────────────────────────────╮
│ # TestModule (TestNamespace) │
│ │
│ ## ParserLibrary │
│ │
│ ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
example1
|> parse Spi
|> Result.toOption
|> Option.get
|> (formatBlocks Spi)
|> _equal "// // # TestModule (TestNamespace)
// // ## ParserLibrary
inl x = 0i32
// // ### TextInput
"
╭─[ 171.43ms - stdout ]────────────────────────────────────────────────────────╮
│ // // # TestModule (TestNamespace) │
│ │
│ // // ## ParserLibrary │
│ │
│ inl x = 0i32 │
│ │
│ // // ### TextInput │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parseDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseDibCode output file = async {
let getLocals () = $"output: {output} / file: {file} / {getLocals ()}"
trace Debug (fun () -> "parseDibCode") getLocals
let! input = file |> FileSystem.readAllTextAsync
match parse output input with
| Result.Ok blocks -> return blocks |> formatBlocks output
| Result.Error msg -> return failwith msg
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeDibCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeDibCode output path = async {
let getLocals () = $"output: {output} / path: {path} / {getLocals ()}"
trace Debug (fun () -> "writeDibCode") getLocals
let! result = parseDibCode output path
let outputPath = path |> String.replace ".dib" $".{output |> string |>
String.toLower}"
do! result |> FileSystem.writeAllTextAsync outputPath
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]]
File of file : string * Output
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| File _ -> nameof File
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let files =
argsMap.[[nameof Arguments.File]]
|> List.map (function
| Arguments.File (path, output) -> path, output
)
files
|> List.map (fun (path, output) -> path |> writeDibCode output)
|> Async.Parallel
|> Async.Ignore
|> Async.runWithTimeout 30000
|> function
| Some () -> 0
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 279.82ms - return value ]──────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 294.98ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] writeDibCode / output: Fs / path: DibParser.dib │
│ 00:00:00 #2 [Debug] parseDibCode / output: Fs / file: DibParser.dib │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook DibParser.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 363952 bytes to DibParser.dib.html
23:07:25 #1 [Debug] persistCodeProject / packages: [Argu; FParsec; FSharp.Control.AsyncSeq; ... ] / modules: [nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Async.fs; ... ] / path: C:\home\git\polyglot\apps\parser / name: DibParser / code.Length: 9066
23:07:26 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\parser\target\DibParser.fsproj
23:07:26 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\parser\target"
CancellationToken = None
OnLine = None }
23:07:26 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
23:07:27 #5 [Debug] > Determining projects to restore...
23:07:27 #6 [Debug] > Restored C:\home\git\polyglot\apps\parser\target\DibParser.fsproj (in 497 ms).
23:07:28 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\parser\target\DibParser.fsproj]
23:07:35 #8 [Debug] > DibParser -> C:\home\git\polyglot\apps\parser\target\bin\release\net8.0\linux-x64\DibParser.dll
23:07:36 #9 [Debug] > DibParser -> C:\home\git\polyglot\apps\parser\dist\
23:07:36 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 32796 / output.Length: 627
23:07:36 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\parser\target"
CancellationToken = None
OnLine = None }
23:07:37 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
23:07:38 #13 [Debug] > Determining projects to restore...
23:07:39 #14 [Debug] > Restored C:\home\git\polyglot\apps\parser\target\DibParser.fsproj (in 576 ms).
23:07:39 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\parser\target\DibParser.fsproj]
23:07:46 #16 [Debug] > DibParser -> C:\home\git\polyglot\apps\parser\target\bin\release\net8.0\win-x64\DibParser.dll
23:07:55 #17 [Debug] > DibParser -> C:\home\git\polyglot\apps\parser\dist\
23:07:55 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 5692 / output.Length: 625
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # JsonParser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import Parser.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Parser =
open Common
/// ### TextInput
type Position =
{
line : int
column : int
}
let initialPos = { line = 0; column = 0 }
let inline incrCol (pos : Position) =
{ pos with column = pos.column + 1 }
let inline incrLine pos =
{ line = pos.line + 1; column = 0 }
type InputState =
{
lines : string[[]]
position : Position
}
let inline fromStr str =
{
lines =
if str |> String.IsNullOrEmpty
then [[||]]
else str |> String.splitString [[| "\r\n"; "\n" |]]
position = initialPos
}
...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open Parser
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## JsonParser │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
(*
// --------------------------------
JSON spec from http://www.json.org/
// --------------------------------
The JSON spec is available at [[json.org]](http://www.json.org/). I'll paraphase
it here:
* A `value` can be a `string` or a `number` or a `bool` or `null` or an `object`
or an `array`.
* These structures can be nested.
* A `string` is a sequence of zero or more Unicode characters, wrapped in double
quotes, using backslash escapes.
* A `number` is very much like a C or Java number, except that the octal and
hexadecimal formats are not used.
* A `boolean` is the literal `true` or `false`
* A `null` is the literal `null`
* An `object` is an unordered set of name/value pairs.
* An object begins with { (left brace) and ends with } (right brace).
* Each name is followed by : (colon) and the name/value pairs are separated by
, (comma).
* An `array` is an ordered collection of values.
* An array begins with [[ (left bracket) and ends with ]] (right bracket).
* Values are separated by , (comma).
* Whitespace can be inserted between any pair of tokens.
*)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline parserEqual (expected : ParseResult<'a>) (actual : ParseResult<'a *
Input>) =
match actual, expected with
| Success (_actual, _), Success _expected ->
printResult actual
_actual |> _equal _expected
| Failure (l1, e1, p1), Failure (l2, e2, p2) when l1 = l2 && e1 = e2 && p1 =
p2 ->
printResult actual
| _ ->
printfn $"Actual: {actual}"
printfn $"Expected: {expected}"
failwith "Parse failed"
actual
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### JValue │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type JValue =
| JString of string
| JNumber of float
| JBool of bool
| JNull
| JObject of Map<string, JValue>
| JArray of JValue list
── fsharp ──────────────────────────────────────────────────────────────────────
let jValue, jValueRef = createParserForwardedToRef<JValue> ()
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jNull │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jNull =
pstring "null"
>>% JNull
<?> "null"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jValue "null"
|> parserEqual (Success JNull)
╭─[ 242.66ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNull, { lines = [ │
│ |"null"|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNull, { lines = [|"null"|]<br/> │
│ position = { line = 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │
│ <tr></tr></thead><tbody></tbody></table></div></details></td></tr><tr><td>It │
│ em2</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>{ lines = [|"null"|]<br/> position = │
│ { line = 0<br/> column = 4 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ null │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 4 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 270.39ms - stdout ]────────────────────────────────────────────────────────╮
│ JNull │
│ JNull │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNull "nulp"
|> parserEqual (
Failure (
"null",
"Unexpected 'p'",
{ currentLine = "nulp"; line = 0; column = 3 }
)
)
╭─[ 55.65ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("null", "Unexpected │
│ 'p'", { currentLine = "nulp"<br/> │
│ line = 0<br/> column = 3 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>null</pre></div></td></tr><tr><td>Item2</td><td>< │
│ div class="dni-plaintext"><pre>Unexpected │
│ 'p'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "nulp"<br/> line = 0<br/> column = 3 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div │
│ class="dni-plaintext"><pre>nulp</pre></div></td></tr><tr><td>line</td><td><d │
│ iv │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>3</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 78.11ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:3 Error parsing null │
│ nulp │
│ ^Unexpected 'p' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jBool │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jBool =
let jtrue =
pstring "true"
>>% JBool true
let jfalse =
pstring "false"
>>% JBool false
jtrue <|> jfalse
<?> "bool"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jBool "true"
|> parserEqual (Success (JBool true))
╭─[ 52.20ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JBool true, { lines = [ │
│ |"true"|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JBool true, { lines = [|"true"|]<br/> │
│ position = { line = 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JBool │
│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><div │
│ class="dni-plaintext"><pre>True</pre></div></td></tr></tbody></table></div>< │
│ /details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"true"|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ true │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 4 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 81.69ms - stdout ]─────────────────────────────────────────────────────────╮
│ JBool true │
│ JBool │
│ Item: True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jBool "false"
|> parserEqual (Success (JBool false))
╭─[ 55.88ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JBool false, { lines = [ │
│ |"false"|]<br/> position = { line = 0<br/> │
│ column = 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JBool false, { lines = [ │
│ |"false"|]<br/> position = { line = 0<br/> column = │
│ 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JBool │
│ false</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │
│ <td>Item</td><td><div │
│ class="dni-plaintext"><pre>False</pre></div></td></tr></tbody></table></div> │
│ </details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"false"|]<br/> position = { line = 0<br/> column = │
│ 5 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ false │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 5 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>5</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 88.20ms - stdout ]─────────────────────────────────────────────────────────╮
│ JBool false │
│ JBool │
│ Item: False │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jBool "truX"
|> parserEqual (
Failure (
"bool",
"Unexpected 't'",
{ currentLine = "truX"; line = 0; column = 0 }
)
)
╭─[ 34.18ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("bool", "Unexpected │
│ 't'", { currentLine = "truX"<br/> │
│ line = 0<br/> column = 0 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>bool</pre></div></td></tr><tr><td>Item2</td><td>< │
│ div class="dni-plaintext"><pre>Unexpected │
│ 't'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "truX"<br/> line = 0<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div │
│ class="dni-plaintext"><pre>truX</pre></div></td></tr><tr><td>line</td><td><d │
│ iv │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 57.33ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:0 Error parsing bool │
│ truX │
│ ^Unexpected 't' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jUnescapedChar │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jUnescapedChar =
satisfy (fun ch -> ch <> '\\' && ch <> '\"') "char"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jUnescapedChar "a"
|> parserEqual (Success 'a')
╭─[ 62.83ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('a', { lines = [ │
│ |"a"|]<br/> position = { line = 0<br/> │
│ column = 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(a, { lines = [|"a"|]<br/> position = │
│ { line = 0<br/> column = 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>a</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"a"|]<br/> position = { line = 0<br/> column = │
│ 1 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ a │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 1 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 88.61ms - stdout ]─────────────────────────────────────────────────────────╮
│ 'a' │
│ a │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jUnescapedChar "\\"
|> parserEqual (
Failure (
"char",
"Unexpected '\\'",
{ currentLine = "\\"; line = 0; column = 0 }
)
)
╭─[ 38.07ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("char", "Unexpected │
│ '\'", { currentLine = "\"<br/> │
│ line = 0<br/> column = 0 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>char</pre></div></td></tr><tr><td>Item2</td><td>< │
│ div class="dni-plaintext"><pre>Unexpected │
│ '\'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "\"<br/> line = 0<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div │
│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 58.39ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:0 Error parsing char │
│ \ │
│ ^Unexpected '\' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jEscapedChar │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jEscapedChar =
[[
("\\\"",'\"')
("\\\\",'\\')
("\\/",'/')
("\\b",'\b')
("\\f",'\f')
("\\n",'\n')
("\\r",'\r')
("\\t",'\t')
]]
|> List.map (fun (toMatch, result) ->
pstring toMatch >>% result
)
|> choice
<?> "escaped char"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar "\\\\"
|> parserEqual (Success '\\')
╭─[ 38.04ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\\', { lines = [ │
│ |"\\"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br/> position │
│ = { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"\\"|]<br/> position = { line = 0<br/> column = │
│ 2 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ \\ │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 2 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 61.38ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\\' │
│ \ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar "\\t"
|> parserEqual (Success '\t')
╭─[ 44.69ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\009', { lines = [ │
│ |"\t"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>( , { lines = [|"\t"|]<br/> position = │
│ { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre> │
│ </pre></div></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"\t"|]<br/> position = { line = 0<br/> column = 2 │
│ } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ \t │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 2 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 76.08ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\009' │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar @"\\"
|> parserEqual (Success '\\')
╭─[ 41.64ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\\', { lines = [ │
│ |"\\"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br/> position │
│ = { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>\</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"\\"|]<br/> position = { line = 0<br/> column = │
│ 2 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ \\ │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 2 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 67.63ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\\' │
│ \ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar @"\n"
|> parserEqual (Success '\n')
╭─[ 36.10ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('\010', { lines = [ │
│ |"<br/>"|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(<br/>, { lines = [|"<br/>"|]<br/> │
│ position = { line = 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre> │
│ </pre></div></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"<br/>"|]<br/> position = { line = 0<br/> column = │
│ 2 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ <br/> │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 2 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 62.39ms - stdout ]─────────────────────────────────────────────────────────╮
│ '\010' │
│ │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jEscapedChar "a"
|> parserEqual (
Failure (
"escaped char",
"Unexpected 'a'",
{ currentLine = "a"; line = 0; column = 0 }
)
)
╭─[ 28.99ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("escaped char", │
│ "Unexpected 'a'", { currentLine = "a"<br/> │
│ line = 0<br/> column = 0 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre>escaped │
│ char</pre></div></td></tr><tr><td>Item2</td><td><div │
│ class="dni-plaintext"><pre>Unexpected │
│ 'a'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "a"<br/> line = 0<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div │
│ class="dni-plaintext"><pre>a</pre></div></td></tr><tr><td>line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 51.13ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:0 Error parsing escaped char │
│ a │
│ ^Unexpected 'a' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jUnicodeChar │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jUnicodeChar =
let backslash = pchar '\\'
let uChar = pchar 'u'
let hexdigit = anyOf ([[ '0' .. '9' ]] @ [[ 'A' .. 'F' ]] @ [[ 'a' .. 'f'
]])
let fourHexDigits = hexdigit .>>. hexdigit .>>. hexdigit .>>. hexdigit
let inline convertToChar (((h1, h2), h3), h4) =
let str = $"%c{h1}%c{h2}%c{h3}%c{h4}"
Int32.Parse (str, Globalization.NumberStyles.HexNumber) |> char
backslash >>. uChar >>. fourHexDigits
|>> convertToChar
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jUnicodeChar "\\u263A"
|> parserEqual (Success '☺')
╭─[ 63.90ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success ('☺', { lines = [ │
│ |"\u263A"|]<br/> position = { line = 0<br/> │
│ column = 6 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(☺, { lines = [|"\u263A"|]<br/> │
│ position = { line = 0<br/> column = 6 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>☺</pre></div></td></tr><tr><td>Item2</td><td><det │
│ ails class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ = [|"\u263A"|]<br/> position = { line = 0<br/> │
│ column = 6 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ \u263A │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 6 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>6</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 89.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ '☺' │
│ ☺ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jString │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let quotedString =
let quote = pchar '\"' <?> "quote"
let jchar = jUnescapedChar <|> jEscapedChar <|> jUnicodeChar
quote >>. manyChars jchar .>> quote
── fsharp ──────────────────────────────────────────────────────────────────────
let jString =
quotedString
|>> JString
<?> "quoted string"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
jString
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"\""
|> parserEqual (Success (JString ""))
╭─[ 53.81ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "", { lines = [ │
│ |""""|]<br/> position = { line = │
│ 0<br/> column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "", { lines = [ │
│ |""""|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ ""</code></span></summary><div><table><thead><tr></tr></thead><tbo │
│ dy><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre></pre></div></td></tr></tbody></table></div></det │
│ ails></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |""""|]<br/> position = { line = 0<br/> │
│ column = 2 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ "" │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 2 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 83.02ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "" │
│ JString │
│ Item: │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"a\""
|> parserEqual (Success (JString "a"))
╭─[ 39.94ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "a", { lines = [ │
│ |""a""|]<br/> position = { line = │
│ 0<br/> column = 3 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "a", { lines = [ │
│ |""a""|]<br/> position = { line = 0<br/> │
│ column = 3 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ "a"</code></span></summary><div><table><thead><tr></tr></thead><tb │
│ ody><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>a</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |""a""|]<br/> position = { line = 0<br/> │
│ column = 3 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ "a" │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 3 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>3</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 71.30ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "a" │
│ JString │
│ Item: a │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"ab\""
|> parserEqual (Success (JString "ab"))
╭─[ 45.19ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "ab", { lines = [ │
│ |""ab""|]<br/> position = { line │
│ = 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "ab", { lines = [ │
│ |""ab""|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ "ab"</code></span></summary><div><table><thead><tr></tr></thead><t │
│ body><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>ab</pre></div></td></tr></tbody></table></div></d │
│ etails></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |""ab""|]<br/> position = { line = 0<br/> │
│ column = 4 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ "ab" │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 4 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 77.69ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "ab" │
│ JString │
│ Item: ab │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"ab\\tde\""
|> parserEqual (Success (JString "ab\tde"))
╭─[ 44.41ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "ab de", { lines = [ │
│ |""ab\tde""|]<br/> position = │
│ { line = 0<br/> column = 8 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "ab de", { lines = [ │
│ |""ab\tde""|]<br/> position = { line = 0<br/> │
│ column = 8 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString "ab │
│ de"</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │
│ tr><td>Item</td><td><div class="dni-plaintext"><pre>ab │
│ de</pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>It │
│ em2</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>{ lines = [ │
│ |""ab\tde""|]<br/> position = { line = 0<br/> │
│ column = 8 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ "ab\tde" │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 8 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>8</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 74.09ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "ab de" │
│ JString │
│ Item: ab de │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jString "\"ab\\u263Ade\""
|> parserEqual (Success (JString "ab☺de"))
╭─[ 41.77ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JString "ab☺de", { lines = [ │
│ |""ab\u263Ade""|]<br/> │
│ position = { line = 0<br/> column = │
│ 12 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JString "ab☺de", { lines = [ │
│ |""ab\u263Ade""|]<br/> position = { line = 0<br/> │
│ column = 12 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ "ab☺de"</code></span></summary><div><table><thead><tr></tr></thead │
│ ><tbody><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>ab☺de</pre></div></td></tr></tbody></table></div> │
│ </details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |""ab\u263Ade""|]<br/> position = { line = 0<br/> │
│ column = 12 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ "ab\u263Ade" │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 12 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>12</pre></div></td></tr></tbody></table></div></d │
│ etails></td></tr></tbody></table></div></details></td></tr></tbody></table>< │
│ /div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 71.40ms - stdout ]─────────────────────────────────────────────────────────╮
│ JString "ab☺de" │
│ JString │
│ Item: ab☺de │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jNumber │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jNumber =
let optSign = opt (pchar '-')
let zero = pstring "0"
let digitOneNine =
satisfy (fun ch -> Char.IsDigit ch && ch <> '0') "1-9"
let digit =
satisfy Char.IsDigit "digit"
let point = pchar '.'
let e = pchar 'e' <|> pchar 'E'
let optPlusMinus = opt (pchar '-' <|> pchar '+')
let nonZeroInt =
digitOneNine .>>. manyChars digit
|>> fun (first, rest) -> string first + rest
let intPart = zero <|> nonZeroInt
let fractionPart = point >>. manyChars1 digit
let exponentPart = e >>. optPlusMinus .>>. manyChars1 digit
let inline (|>?) opt f =
match opt with
| None -> ""
| Some x -> f x
let inline convertToJNumber (((optSign, intPart), fractionPart), expPart) =
let signStr =
optSign
|>? string
let fractionPartStr =
fractionPart
|>? (fun digits -> "." + digits)
let expPartStr =
expPart
|>? fun (optSign, digits) ->
let sign = optSign |>? string
"e" + sign + digits
(signStr + intPart + fractionPartStr + expPartStr)
|> float
|> JNumber
optSign .>>. intPart .>>. opt fractionPart .>>. opt exponentPart
|>> convertToJNumber
<?> "number"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
jString
jNumber
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "123"
|> parserEqual (Success (JNumber 123.0))
╭─[ 62.22ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 0<br/> │
│ column = 3 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 0<br/> column = 3 │
│ } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │
│ <td>Item</td><td><div │
│ class="dni-plaintext"><pre>123</pre></div></td></tr></tbody></table></div></ │
│ details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123"|]<br/> position = { line = 0<br/> column = 3 │
│ } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 3 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>3</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 88.67ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.0 │
│ JNumber │
│ Item: 123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "-123"
|> parserEqual (Success (JNumber -123.0))
╭─[ 50.25ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = │
│ 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │
│ ><td>Item</td><td><div │
│ class="dni-plaintext"><pre>-123</pre></div></td></tr></tbody></table></div>< │
│ /details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"-123"|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ -123 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 4 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 79.77ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber -123.0 │
│ JNumber │
│ Item: -123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "123.4"
|> parserEqual (Success (JNumber 123.4))
╭─[ 55.75ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = │
│ 0<br/> column = 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = 0<br/> column = │
│ 5 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │
│ <td>Item</td><td><div │
│ class="dni-plaintext"><pre>123.4</pre></div></td></tr></tbody></table></div> │
│ </details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123.4"|]<br/> position = { line = 0<br/> column = │
│ 5 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 5 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>5</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 83.29ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.4 │
│ JNumber │
│ Item: 123.4 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "-123."
|> parserEqual (Success (JNumber -123.0))
╭─[ 42.72ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │
│ |"-123."|]<br/> position = { line = │
│ 0<br/> column = 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │
│ |"-123."|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │
│ ><td>Item</td><td><div │
│ class="dni-plaintext"><pre>-123</pre></div></td></tr></tbody></table></div>< │
│ /details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"-123."|]<br/> position = { line = 0<br/> column = │
│ 4 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ -123. │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 4 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 72.09ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber -123.0 │
│ JNumber │
│ Item: -123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber "00.1"
|> parserEqual (Success (JNumber 0.0))
╭─[ 38.52ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 0.0, { lines = [ │
│ |"00.1"|]<br/> position = { line = 0<br/> │
│ column = 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 0.0, { lines = [ │
│ |"00.1"|]<br/> position = { line = 0<br/> column = │
│ 1 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 0.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"00.1"|]<br/> position = { line = 0<br/> column = │
│ 1 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 00.1 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 0<br/> column = 1 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 75.75ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 0.0 │
│ JNumber │
│ Item: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let jNumber_ = jNumber .>> spaces1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123"
|> parserEqual (Success (JNumber 123.0))
╭─[ 45.34ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.0, { lines = [ │
│ |"123"|]<br/> position = { line = 1<br/> column = 0 │
│ } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │
│ <td>Item</td><td><div │
│ class="dni-plaintext"><pre>123</pre></div></td></tr></tbody></table></div></ │
│ details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123"|]<br/> position = { line = 1<br/> column = 0 │
│ } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 74.45ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.0 │
│ JNumber │
│ Item: 123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "-123"
|> parserEqual (Success (JNumber -123.0))
╭─[ 39.93ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │
│ |"-123"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │
│ ><td>Item</td><td><div │
│ class="dni-plaintext"><pre>-123</pre></div></td></tr></tbody></table></div>< │
│ /details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"-123"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ -123 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 68.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber -123.0 │
│ JNumber │
│ Item: -123 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "-123."
|> parserEqual (
Failure (
"number andThen many1 whitespace",
"Unexpected '.'",
{ currentLine = "-123."; line = 0; column = 4 }
)
)
╭─[ 26.56ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure<br/> ("number andThen many1 │
│ whitespace", "Unexpected '.'", { currentLine = │
│ "-123."<br/> │
│ line = 0<br/> │
│ column = 4 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre>number andThen many1 │
│ whitespace</pre></div></td></tr><tr><td>Item2</td><td><div │
│ class="dni-plaintext"><pre>Unexpected │
│ '.'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "-123."<br/> line = 0<br/> column = 4 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div │
│ class="dni-plaintext"><pre>-123.</pre></div></td></tr><tr><td>line</td><td>< │
│ div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>4</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 47.99ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:4 Error parsing number andThen many1 whitespace │
│ -123. │
│ ^Unexpected '.' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123.4"
|> parserEqual (Success (JNumber 123.4))
╭─[ 51.35ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │
│ |"123.4"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │
│ <td>Item</td><td><div │
│ class="dni-plaintext"><pre>123.4</pre></div></td></tr></tbody></table></div> │
│ </details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123.4"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 82.96ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 123.4 │
│ JNumber │
│ Item: 123.4 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "00.4"
|> parserEqual (
Failure (
"number andThen many1 whitespace",
"Unexpected '0'",
{ currentLine = "00.4"; line = 0; column = 1 }
)
)
╭─[ 30.70ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure<br/> ("number andThen many1 │
│ whitespace", "Unexpected '0'", { currentLine = │
│ "00.4"<br/> │
│ line = 0<br/> │
│ column = 1 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div class="dni-plaintext"><pre>number andThen many1 │
│ whitespace</pre></div></td></tr><tr><td>Item2</td><td><div │
│ class="dni-plaintext"><pre>Unexpected │
│ '0'</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "00.4"<br/> line = 0<br/> column = 1 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div │
│ class="dni-plaintext"><pre>00.4</pre></div></td></tr><tr><td>line</td><td><d │
│ iv │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 52.34ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:1 Error parsing number andThen many1 whitespace │
│ 00.4 │
│ ^Unexpected '0' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123e4"
|> parserEqual (Success (JNumber 1230000.0))
╭─[ 49.95ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 1230000.0, { lines = [ │
│ |"123e4"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 1230000.0, { lines = [ │
│ |"123e4"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 1230000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody> │
│ <tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>1230000</pre></div></td></tr></tbody></table></di │
│ v></details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123e4"|]<br/> position = { line = 1<br/> column = │
│ 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123e4 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 82.99ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 1230000.0 │
│ JNumber │
│ Item: 1230000 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123.4e5"
|> parserEqual (Success (JNumber 12340000.0))
╭─[ 39.49ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 12340000.0, { lines = [ │
│ |"123.4e5"|]<br/> position = { line │
│ = 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 12340000.0, { lines = [ │
│ |"123.4e5"|]<br/> position = { line = 1<br/> column │
│ = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 12340000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody │
│ ><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>12340000</pre></div></td></tr></tbody></table></d │
│ iv></details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123.4e5"|]<br/> position = { line = 1<br/> column │
│ = 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4e5 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 73.14ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 12340000.0 │
│ JNumber │
│ Item: 12340000 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jNumber_ "123.4e-5"
|> parserEqual (Success (JNumber 0.001234))
╭─[ 43.05ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JNumber 0.001234, { lines = [ │
│ |"123.4e-5"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JNumber 0.001234, { lines = [ │
│ |"123.4e-5"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 0.001234</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │
│ tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>0.001234</pre></div></td></tr></tbody></table></d │
│ iv></details></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │
│ |"123.4e-5"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ 123.4e-5 │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 66.85ms - stdout ]─────────────────────────────────────────────────────────╮
│ JNumber 0.001234 │
│ JNumber │
│ Item: 0.001234 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jArray │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jArray =
let left = pchar '[[' .>> spaces
let right = pchar ']]' .>> spaces
let comma = pchar ',' .>> spaces
let value = jValue .>> spaces
let values = sepBy value comma
between left values right
|>> JArray
<?> "array"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
jValueRef <|
choice
[[
jNull
jBool
jString
jNumber
jArray
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jArray "[[ 1, 2 ]]"
|> parserEqual (Success (JArray [[ JNumber 1.0; JNumber 2.0 ]]))
╭─[ 101.42ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success (JArray [JNumber 1.0; JNumber 2.0], { │
│ lines = [|"[ 1, 2 ]"|]<br/> │
│ position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JArray [JNumber 1.0; JNumber 2.0], { lines = [ │
│ |"[ 1, 2 ]"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray [JNumber 1.0; JNumber │
│ 2.0]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></ │
│ thead><tbody><tr><td>0</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr><tr><td>1</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JNumber │
│ 2.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><div │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></td></tr></tbody></table></div></details></ │
│ td></tr><tr><td>Item2</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>{ lines = [|"[ 1, 2 ]"|]<br/> │
│ position = { line = 1<br/> column = 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ [ 1, 2 ] │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 133.68ms - stdout ]────────────────────────────────────────────────────────╮
│ JArray [JNumber 1.0; JNumber 2.0] │
│ JArray │
│ Item: FSharpList<JValue> │
│ - Item: 1 │
│ - Item: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jArray "[[ 1, 2, ]]"
|> parserEqual (
Failure (
"array",
"Unexpected ','",
{ currentLine = "[[ 1, 2, ]]"; line = 0; column = 6 }
)
)
╭─[ 29.70ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("array", "Unexpected │
│ ','", { currentLine = "[ 1, 2, ]"<br/> │
│ line = 0<br/> column = 6 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>array</pre></div></td></tr><tr><td>Item2</td><td> │
│ <div class="dni-plaintext"><pre>Unexpected │
│ ','</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "[ 1, 2, ]"<br/> line = 0<br/> column = 6 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div class="dni-plaintext"><pre>[ 1, 2, │
│ ]</pre></div></td></tr><tr><td>line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>6</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 51.53ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:6 Error parsing array │
│ [ 1, 2, ] │
│ ^Unexpected ',' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jObject │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let jObject =
let left = spaces >>. pchar '{' .>> spaces
let right = pchar '}' .>> spaces
let colon = pchar ':' .>> spaces
let comma = pchar ',' .>> spaces
let key = quotedString .>> spaces
let value = jValue .>> spaces
let keyValue = (key .>> colon) .>>. value
let keyValues = sepBy keyValue comma
between left keyValues right
|>> Map.ofList
|>> JObject
<?> "object"
── fsharp ──────────────────────────────────────────────────────────────────────
jValueRef <|
choice
[[
jNull
jBool
jString
jNumber
jArray
jObject
]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jObject """{ "a":1, "b" : 2 }"""
|> parserEqual (
Success (
JObject (
Map.ofList [[
"a", JNumber 1.0
"b", JNumber 2.0
]]
)
)
)
╭─[ 117.18ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject (map [("a", │
│ JNumber 1.0); ("b", JNumber 2.0)]),<br/> { lines = [|"{ │
│ "a":1, "b" : 2 }"|]<br/> position = { line = │
│ 1<br/> column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject (map [("a", JNumber 1.0); │
│ ("b", JNumber 2.0)]), { lines = [|"{ "a":1, │
│ "b" : 2 }"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject (map [("a", JNumber 1.0); │
│ ("b", JNumber │
│ 2.0)])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │
│ ><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>value</th></tr></ │
│ thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>a</pre></div></td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JNumber │
│ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>b</pre></div></td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JNumber │
│ 2.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><div │
│ class="dni-plaintext"><pre>2</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></td></tr></tbody></table></div></details></ │
│ td></tr><tr><td>Item2</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>{ lines = [|"{ "a":1, │
│ "b" : 2 }"|]<br/> position = { line = 1<br/> │
│ column = 0 } │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ lines</td><td><div class="dni-plaintext"><pre>[ { "a":1, │
│ "b" : 2 } │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 1<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>1</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 150.39ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: a │
│ Value: JNumber │
│ Item: 1 │
│ - Key: b │
│ Value: JNumber │
│ Item: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run jObject """{ "a":1, "b" : 2, }"""
|> parserEqual (
Failure (
"object",
"Unexpected ','",
{ currentLine = """{ "a":1, "b" : 2, }"""; line = 0; column = 18 }
)
)
╭─[ 35.74ms - return value ]───────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Failure ("object", "Unexpected │
│ ','", { currentLine = "{ "a":1, "b" : │
│ 2, }"<br/> line = 0<br/> │
│ column = 18 │
│ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre>object</pre></div></td></tr><tr><td>Item2</td><td │
│ ><div class="dni-plaintext"><pre>Unexpected │
│ ','</pre></div></td></tr><tr><td>Item3</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │
│ currentLine = "{ "a":1, "b" : 2, }"<br/> │
│ line = 0<br/> column = 18 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ currentLine</td><td><div class="dni-plaintext"><pre>{ "a":1, │
│ "b" : 2, }</pre></div></td></tr><tr><td>line</td><td><div │
│ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>18</pre></div></td></tr></tbody></table></div></d │
│ etails></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 61.47ms - stdout ]─────────────────────────────────────────────────────────╮
│ Line:0 Col:18 Error parsing object │
│ { "a":1, "b" : 2, } │
│ ^Unexpected ',' │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### jValue │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example1 = """{
"name" : "Scott",
"isMale" : true,
"bday" : {"year":2001, "month":12, "day":25 },
"favouriteColors" : [["blue", "green"]],
"emptyArray" : [[]],
"emptyObject" : {}
}"""
run jValue example1
|> parserEqual (
Success (
JObject (
Map.ofList [[
"name", JString "Scott"
"isMale", JBool true
"bday", JObject (
Map.ofList [[
"year", JNumber 2001.0
"month", JNumber 12.0
"day", JNumber 25.0
]]
)
"favouriteColors", JArray [[ JString "blue"; JString "green" ]]
"emptyArray", JArray [[]]
"emptyObject", JObject Map.empty
]]
)
)
)
╭─[ 181.07ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject<br/> (map<br/> │
│ [("bday",<br/> JObject<br/> (map<br/> │
│ [("day", JNumber 25.0); ("month", JNumber 12.0);<br/> │
│ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │
│ ]);<br/> ("emptyObject", JObject (map []));<br/> │
│ ("favouriteColors", │
│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject<br/> (map<br/> [ │
│ ("bday",<br/> JObject<br/> (map<br/> [ │
│ ("day", JNumber 25.0); ("month", JNumber 12.0);<br/> │
│ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │
│ ]);<br/> ("emptyObject", JObject (map []));<br/> │
│ ("favouriteColors", JArray [JString "blue"; JString │
│ "gr...</code></span></summary><div><table><thead><tr></tr></thead><tbod │
│ y><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject<br/> (map<br/> [ │
│ ("bday",<br/> JObject<br/> (map<br/> [ │
│ ("day", JNumber 25.0); ("month", JNumber 12.0);<br/> │
│ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │
│ ]);<br/> ("emptyObject", JObject (map []));<br/> │
│ ("favouriteColors", JArray [JString "blue"; JString │
│ "gre...</code></span></summary><div><table><thead><tr></tr></thead><tbo │
│ dy><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i> │
│ </th><th>value</th></tr></thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>bday</pre></div></td><td>FSI_0012+JValue+JObject< │
│ /td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject<br/> (map<br/> [("day", │
│ JNumber 25.0); ("month", JNumber 12.0); ("year", JNumber │
│ 2001.0)])</code></span></summary><div><table><thead><tr></tr></thead><tbody> │
│ <tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>value</th></tr │
│ ></thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>day</pre></div></td><td>JNumber │
│ 25.0</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>month</pre></div></td><td>JNumber │
│ 12.0</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>year</pre></div></td><td>JNumber │
│ 2001.0</td></tr></tbody></table></td></tr></tbody></table></div></details></ │
│ td></tr><tr><td><div │
│ class="dni-plaintext"><pre>emptyArray</pre></div></td><td>FSI_0012+JValue+JA │
│ rray</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray [ │
│ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td></ │
│ tr><tr><td><div │
│ class="dni-plaintext"><pre>emptyObject</pre></div></td><td>FSI_0012+JValue+J │
│ Object</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject (map [ │
│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td>< │
│ /tr><tr><td><div │
│ class="dni-plaintext"><pre>favouriteColors</pre></div></td><td>FSI_0012+JVal │
│ ue+JArray</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray [JString "blue"; JString │
│ "green"]</code></span></summary><div><table><thead><tr></tr></thea │
│ d><tbody><tr><td>Item</td><td><table><thead><tr><th><i>index</i></th><th>val │
│ ue</th></tr></thead><tbody><tr><td>0</td><td>JString │
│ "blue"</td></tr><tr><td>1</td><td>JString │
│ "green"</td></tr></tbody></table></td></tr></tbody></table></div></details>< │
│ /td></tr><tr><td><div │
│ class="dni-plaintext"><pre>isMale</pre></div></td><td>FSI_0012+JValue+JBool< │
│ /td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JBool │
│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><div │
│ class="dni-plaintext"><pre>True</pre></div></td></tr></tbody></table></div>< │
│ /details></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>name</pre></div></td><td>FSI_0012+JValue+JString< │
│ /td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ "Scott"</code></span></summary><div><table><thead><tr></tr></thead │
│ ><tbody><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>Scott</pre></div></td></tr></tbody></table></div> │
│ </details></td></tr></tbody></table></td></tr></tbody></table></div></detail │
│ s></td></tr><tr><td>Item2</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines │
│ =<br/> [|"{"; " "name" : │
│ "Scott","; " "isMale" : true,";<br/> │
│ " "bday" : {"year":2001, "month":12, │
│ "day":25 },";<br/> " "favouriteColors" │
│ : ["blue", "green"],"; " │
│ "emptyArray" : [],";<br/> " │
│ "emptyObject" : {}"; "}"|]<br/> position = { line │
│ = 8<br/> column = 0 } │
│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>lines</td><td><div class="dni-plaintext"><pre>[ {, "name" : │
│ "Scott",, "isMale" : true,, "bday" : │
│ {"year":2001, "month":12, "day":25 },, │
│ "favouriteColors" : ["blue", "green"],, │
│ "emptyArray" : [],, "emptyObject" : {}, } │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 8<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>8</pre></div></td></tr><tr><td>column</td><td><di │
│ v │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 237.85ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject │
│ (map │
│ [("bday", │
│ JObject │
│ (map │
│ [("day", JNumber 25.0); ("month", JNumber 12.0); │
│ ("year", JNumber 2001.0)])); ("emptyArray", JArray []); │
│ ("emptyObject", JObject (map [])); │
│ ("favouriteColors", JArray [JString "blue"; JString "green"]); │
│ ("isMale", JBool true); ("name", JString "Scott")]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: bday │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: day │
│ Value: JNumber 25.0 │
│ - Key: month │
│ Value: JNumber 12.0 │
│ - Key: year │
│ Value: JNumber 2001.0 │
│ - Key: emptyArray │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ │
│ - Key: emptyObject │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ │
│ - Key: favouriteColors │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: blue │
│ - Item: green │
│ - Key: isMale │
│ Value: JBool │
│ Item: True │
│ - Key: name │
│ Value: JString │
│ Item: Scott │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example2 = """{"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"name": "text1",
"hOffset": 250,
"vOffset": 100,
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}}"""
run jValue example2
|> parserEqual (
Success (
JObject (
Map.ofList [[
"widget", JObject (
Map.ofList [[
"debug", JString "on"
"window", JObject (
Map.ofList [[
"title", JString "Sample Konfabulator Widget"
"name", JString "main_window"
"width", JNumber 500.0
"height", JNumber 500.0
]]
)
"image", JObject (
Map.ofList [[
"src", JString "Images/Sun.png"
"name", JString "sun1"
"hOffset", JNumber 250.0
"vOffset", JNumber 250.0
"alignment", JString "center"
]]
)
"text", JObject (
Map.ofList [[
"data", JString "Click Here"
"size", JNumber 36.0
"style", JString "bold"
"name", JString "text1"
"hOffset", JNumber 250.0
"vOffset", JNumber 100.0
"alignment", JString "center"
"onMouseUp", JString "sun1.opacity =
(sun1.opacity / 100) * 90;"
]]
)
]]
)
]]
)
)
)
╭─[ 396.99ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject<br/> (map<br/> │
│ [("widget",<br/> JObject<br/> (map<br/> │
│ [("debug", JString "on");<br/> │
│ ("image",<br/> JObject<br/> │
│ (map<br/> [("alignment", JString │
│ "center");<br/> │
│ ("hOffset"...</code></span></summary><div><table><thead><tr></tr>< │
│ /thead><tbody><tr><td>Item</td><td><details │
│ class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject<br/> (map<br/> [ │
│ ("widget",<br/> JObject<br/> (map<br/> [ │
│ ("debug", JString "on");<br/> │
│ ("image",<br/> JObject<br/> (map<br/> │
│ [("alignment", JString "center"); ("hOffset", │
│ JNumber 250.0);<br/> ("name", JString │
│ "sun1"...</code></span></summary><div><table><thead><tr></tr></the │
│ ad><tbody><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject<br/> (map<br/> [ │
│ ("widget",<br/> JObject<br/> (map<br/> [ │
│ ("debug", JString "on");<br/> │
│ ("image",<br/> JObject<br/> (map<br/> │
│ [("alignment", JString "center"); ("hOffset", │
│ JNumber 250.0);<br/> ("name", JString │
│ "sun1")...</code></span></summary><div><table><thead><tr></tr></th │
│ ead><tbody><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>val │
│ ue</th></tr></thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>widget</pre></div></td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>JObject<br/> │
│ (map<br/> [("debug", JString "on");<br/> │
│ ("image",<br/> JObject<br/> (map<br/> [ │
│ ("alignment", JString "center"); ("hOffset", │
│ JNumber 250.0);<br/> ("name", JString │
│ "sun1"); ("src", JString │
│ "Images/Sun.png");<br/> ("vOffset", JNumber │
│ 250.0)]));<br/> │
│ ("...</code></span></summary><div><table><thead><tr></tr></thead><tbody │
│ ><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i></ │
│ th><th>value</th></tr></thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>debug</pre></div></td><td>FSI_0012+JValue+JString │
│ </td><td>JString "on"</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>image</pre></div></td><td>FSI_0012+JValue+JObject │
│ </td><td>JObject │
│ (map │
│ [("alignment", JString "center"); ("hOffset", JNumber 250.0); │
│ ("name", JString "sun1"); ("src", JString "Images/Sun.png"); │
│ ("vOffset", JNumber 250.0)])</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>text</pre></div></td><td>FSI_0012+JValue+JObject< │
│ /td><td>JObject │
│ (map │
│ [("alignment", JString "center"); ("data", JString "Click Here"); │
│ ("hOffset", JNumber 250.0); ("name", JString "text1"); │
│ ("onMouseUp", JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │
│ ("size", JNumber 36.0); ("style", JString "bold"); │
│ ("vOffset", JNumber 100.0)])</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>window</pre></div></td><td>FSI_0012+JValue+JObjec │
│ t</td><td>JObject │
│ (map │
│ [("height", JNumber 500.0); ("name", JString "main_window"); │
│ ("title", JString "Sample Konfabulator Widget"); ("width", JNumber │
│ 500.0)])</td></tr></tbody></table></td></tr></tbody></table></div></details> │
│ </td></tr></tbody></table></td></tr></tbody></table></div></details></td></t │
│ r><tr><td>Item2</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>{ lines =<br/> [|"{"widget": │
│ {"; " "debug": "on","; " │
│ "window": {";<br/> " "title": │
│ "Sample Konfabulator Widget",";<br/> " │
│ "name": "main_window","; " │
│ "width": 500,";<br/> " "height": │
│ 500"; " },"; " "image": {";<br/> │
│ " "src": "Images/Sun.png","; " │
│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>lines</td><td><div class="dni-plaintext"><pre>[ {"widget": {, │
│ "debug": "on",, "window": {, │
│ "title": "Sample Konfabulator Widget",, │
│ "name": "main_window",, "width": 500,, │
│ "height": 500, },, "image": {, │
│ "src": "Images/Sun.png",, "name": │
│ "sun1",, "hOffset": 250,, │
│ "vOffset": 250,, "alignment": │
│ "center", },, "text": {, │
│ "data": "Click Here",, "size": 36,, │
│ "style": "bold",, "name": │
│ "text1",, "hOffset": 250,, │
│ "vOffset": 100,, "alignment": │
│ "center",, "onMouseUp": "sun1.opacity = │
│ (sun1.opacity / 100) * 90;", }, }} │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 26<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>26</pre></div></td></tr><tr><td>column</td><td><d │
│ iv │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 453.23ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject │
│ (map │
│ [("widget", │
│ JObject │
│ (map │
│ [("debug", JString "on"); │
│ ("image", │
│ JObject │
│ (map │
│ [("alignment", JString "center"); ("hOffset", JNumber │
│ 250.0); │
│ ("name", JString "sun1"); ("src", JString │
│ "Images/Sun.png"); │
│ ("vOffset", JNumber 250.0)])); │
│ ("text", │
│ JObject │
│ (map │
│ [("alignment", JString "center"); │
│ ("data", JString "Click Here"); ("hOffset", JNumber │
│ 250.0); │
│ ("name", JString "text1"); │
│ ("onMouseUp", │
│ JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │
│ ("size", JNumber 36.0); ("style", JString "bold"); │
│ ("vOffset", JNumber 100.0)])); │
│ ("window", │
│ JObject │
│ (map │
│ [("height", JNumber 500.0); ("name", JString │
│ "main_window"); │
│ ("title", JString "Sample Konfabulator Widget"); │
│ ("width", JNumber 500.0)]))]))]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: widget │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: debug │
│ Value: JString "on" │
│ - Key: image │
│ Value: JObject │
│ (map │
│ [("alignment", JString "center"); ("hOffset", JNumber 250.0); │
│ ("name", JString "sun1"); ("src", JString "Images/Sun.png"); │
│ ("vOffset", JNumber 250.0)]) │
│ - Key: text │
│ Value: JObject │
│ (map │
│ [("alignment", JString "center"); ("data", JString "Click Here"); │
│ ("hOffset", JNumber 250.0); ("name", JString "text1"); │
│ ("onMouseUp", JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │
│ ("size", JNumber 36.0); ("style", JString "bold"); │
│ ("vOffset", JNumber 100.0)]) │
│ - Key: window │
│ Value: JObject │
│ (map │
│ [("height", JNumber 500.0); ("name", JString "main_window"); │
│ ("title", JString "Sample Konfabulator Widget"); ("width", JNumber │
│ 500.0)]) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let example3 = """{
"string": "Hello, \"World\"!",
"escapedString": "This string contains \\/\\\\\\b\\f\\n\\r\\t\\\"\\'",
"number": 42,
"scientificNumber": 3.14e-10,
"boolean": true,
"nullValue": null,
"array": [[1, 2, 3, 4, 5]],
"unicodeString1": "프리마",
"unicodeString2": "\u0048\u0065\u006C\u006C\u006F,
\u0022\u0057\u006F\u0072\u006C\u0064\u0022!",
"specialCharacters": "!@#$%^&*()",
"emptyArray": [[]],
"emptyObject": {},
"nestedArrays": [[[[1, 2, 3]], [[4, 5, 6]]]],
"object": {
"nestedString": "Nested Value",
"nestedNumber": 3.14,
"nestedBoolean": false,
"nestedNull": null,
"nestedArray": [["a", "b", "c"]],
"nestedObject": {
"nestedProperty": "Nested Object Value"
}
},
"nestedObjects": [[
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30}
]]
}"""
run jValue example3
|> parserEqual (
Success (
JObject (
Map.ofList [[
"string", JString @"Hello, ""World""!"
"escapedString", JString @"This string contains
\/\\\b\f\n\r\t\""\'"
"number", JNumber 42.0
"scientificNumber", JNumber 3.14e-10
"boolean", JBool true
"nullValue", JNull
"array", JArray [[
JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber
5.0
]]
"unicodeString1", JString "프리마"
"unicodeString2", JString @"Hello, ""World""!"
"specialCharacters", JString "!@#$%^&*()"
"emptyArray", JArray [[]]
"emptyObject", JObject Map.empty
"nestedArrays", JArray [[
JArray [[ JNumber 1.0; JNumber 2.0; JNumber 3.0 ]]
JArray [[ JNumber 4.0; JNumber 5.0; JNumber 6.0 ]]
]]
"object", JObject (
Map.ofList [[
"nestedString", JString "Nested Value"
"nestedNumber", JNumber 3.14
"nestedBoolean", JBool false
"nestedNull", JNull
"nestedArray", JArray [[JString "a"; JString "b";
JString "c"]]
"nestedObject", JObject (
Map.ofList [[
"nestedProperty", JString "Nested Object Value"
]]
)
]]
)
"nestedObjects", JArray [[
JObject (Map.ofList [[ "name", JString "Alice"; "age", JNumber
25.0 ]])
JObject (Map.ofList [[ "name", JString "Bob"; "age", JNumber
30.0 ]])
]]
]]
)
)
)
╭─[ 552.67ms - return value ]──────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Success<br/> (JObject<br/> (map<br/> │
│ [("array",<br/> JArray<br/> [JNumber 1.0; │
│ JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber 5.0]);<br/> │
│ ("boolean", JBool true); ("emptyArray", JArray []);<br/> │
│ ("emptyObject", JObject (map []));<br/> │
│ ("escapedString", JString "This │
│ s...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(JObject<br/> (map<br/> [ │
│ ("array",<br/> JArray [JNumber 1.0; JNumber 2.0; JNumber │
│ 3.0; JNumber 4.0; JNumber 5.0]);<br/> ("boolean", JBool │
│ true); ("emptyArray", JArray []);<br/> │
│ ("emptyObject", JObject (map []));<br/> │
│ ("escapedString", JString "This string contains │
│ \/\\\b\f<br/>\r\t\"\'");<br/> │
│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item1</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject<br/> (map<br/> [ │
│ ("array",<br/> JArray [JNumber 1.0; JNumber 2.0; JNumber │
│ 3.0; JNumber 4.0; JNumber 5.0]);<br/> ("boolean", JBool │
│ true); ("emptyArray", JArray []);<br/> │
│ ("emptyObject", JObject (map []));<br/> │
│ ("escapedString", JString "This string contains │
│ \/\\\b\f<br/>\r\t\"\'");<br/> │
│ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i></th><th> │
│ value</th></tr></thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>array</pre></div></td><td>FSI_0012+JValue+JArray< │
│ /td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; │
│ JNumber 4.0; JNumber │
│ 5.0]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></ │
│ thead><tbody><tr><td>0</td><td>JNumber │
│ 1.0</td></tr><tr><td>1</td><td>JNumber │
│ 2.0</td></tr><tr><td>2</td><td>JNumber │
│ 3.0</td></tr><tr><td>3</td><td>JNumber │
│ 4.0</td></tr><tr><td>4</td><td>JNumber │
│ 5.0</td></tr></tbody></table></td></tr></tbody></table></div></details></td> │
│ </tr><tr><td><div │
│ class="dni-plaintext"><pre>boolean</pre></div></td><td>FSI_0012+JValue+JBool │
│ </td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JBool │
│ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><div │
│ class="dni-plaintext"><pre>True</pre></div></td></tr></tbody></table></div>< │
│ /details></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>emptyArray</pre></div></td><td>FSI_0012+JValue+JA │
│ rray</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray [ │
│ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td></ │
│ tr><tr><td><div │
│ class="dni-plaintext"><pre>emptyObject</pre></div></td><td>FSI_0012+JValue+J │
│ Object</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject (map [ │
│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item</td><td><i>(empty)</i></td></tr></tbody></table></div></details></td>< │
│ /tr><tr><td><div │
│ class="dni-plaintext"><pre>escapedString</pre></div></td><td>FSI_0012+JValue │
│ +JString</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString "This string contains │
│ \/\\\b\f<br/>\r\t\"\'"</code></span></summary><div><table><the │
│ ad><tr></tr></thead><tbody><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>This string contains │
│ \/\\\b\f<br/>\r\t\"\'</pre></div></td></tr></tbody></table></div></ │
│ details></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedArrays</pre></div></td><td>FSI_0012+JValue+ │
│ JArray</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray<br/> [JArray [JNumber 1.0; JNumber 2.0; │
│ JNumber 3.0];<br/> JArray [JNumber 4.0; JNumber 5.0; JNumber │
│ 6.0]]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │
│ <td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr>< │
│ /thead><tbody><tr><td>0</td><td>JArray [JNumber 1.0; JNumber 2.0; JNumber │
│ 3.0]</td></tr><tr><td>1</td><td>JArray [JNumber 4.0; JNumber 5.0; JNumber │
│ 6.0]</td></tr></tbody></table></td></tr></tbody></table></div></details></td │
│ ></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedObjects</pre></div></td><td>FSI_0012+JValue │
│ +JArray</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JArray<br/> [JObject (map [("age", │
│ JNumber 25.0); ("name", JString "Alice")]);<br/> │
│ JObject (map [("age", JNumber 30.0); ("name", JString │
│ "Bob")])]</code></span></summary><div><table><thead><tr></tr></the │
│ ad><tbody><tr><td>Item</td><td><table><thead><tr><th><i>index</i></th><th>va │
│ lue</th></tr></thead><tbody><tr><td>0</td><td>JObject (map [("age", JNumber │
│ 25.0); ("name", JString "Alice")])</td></tr><tr><td>1</td><td>JObject (map [ │
│ ("age", JNumber 30.0); ("name", JString │
│ "Bob")])</td></tr></tbody></table></td></tr></tbody></table></div></details> │
│ </td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nullValue</pre></div></td><td>FSI_0012+JValue</td │
│ ><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │
│ <tr></tr></thead><tbody></tbody></table></div></details></td></tr><tr><td><d │
│ iv │
│ class="dni-plaintext"><pre>number</pre></div></td><td>FSI_0012+JValue+JNumbe │
│ r</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 42.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │
│ td>Item</td><td><div │
│ class="dni-plaintext"><pre>42</pre></div></td></tr></tbody></table></div></d │
│ etails></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>object</pre></div></td><td>FSI_0012+JValue+JObjec │
│ t</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JObject<br/> (map<br/> [ │
│ ("nestedArray", JArray [JString "a"; JString │
│ "b"; JString "c"]);<br/> │
│ ("nestedBoolean", JBool false); ("nestedNull", │
│ JNull);<br/> ("nestedNumber", JNumber 3.14);<br/> │
│ ("nestedObject",<br/> JObject (map [ │
│ ("nestedProperty", JString "Nested Object │
│ Value")]));<br/> │
│ ("ne...</code></span></summary><div><table><thead><tr></tr></thead><tbo │
│ dy><tr><td>Item</td><td><table><thead><tr><th><i>key</i></th><th><i>type</i> │
│ </th><th>value</th></tr></thead><tbody><tr><td><div │
│ class="dni-plaintext"><pre>nestedArray</pre></div></td><td>FSI_0012+JValue+J │
│ Array</td><td>JArray [JString "a"; JString "b"; JString │
│ "c"]</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedBoolean</pre></div></td><td>FSI_0012+JValue │
│ +JBool</td><td>JBool false</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedNull</pre></div></td><td>FSI_0012+JValue</t │
│ d><td>JNull</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedNumber</pre></div></td><td>FSI_0012+JValue+ │
│ JNumber</td><td>JNumber 3.14</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedObject</pre></div></td><td>FSI_0012+JValue+ │
│ JObject</td><td>JObject (map [("nestedProperty", JString "Nested Object │
│ Value")])</td></tr><tr><td><div │
│ class="dni-plaintext"><pre>nestedString</pre></div></td><td>FSI_0012+JValue+ │
│ JString</td><td>JString "Nested │
│ Value"</td></tr></tbody></table></td></tr></tbody></table></div></details></ │
│ td></tr><tr><td><div │
│ class="dni-plaintext"><pre>scientificNumber</pre></div></td><td>FSI_0012+JVa │
│ lue+JNumber</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JNumber │
│ 3.14e-10</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │
│ tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>3.14E-10</pre></div></td></tr></tbody></table></d │
│ iv></details></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>specialCharacters</pre></div></td><td>FSI_0012+JV │
│ alue+JString</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ "!@#$%^&*()"</code></span></summary><div><table><thead><tr></t │
│ r></thead><tbody><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>!@#$%^&*()</pre></div></td></tr></tbody></tab │
│ le></div></details></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>string</pre></div></td><td>FSI_0012+JValue+JStrin │
│ g</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString "Hello, │
│ "World"!"</code></span></summary><div><table><thead><tr></tr> │
│ </thead><tbody><tr><td>Item</td><td><div class="dni-plaintext"><pre>Hello, │
│ "World"!</pre></div></td></tr></tbody></table></div></details></td │
│ ></tr><tr><td><div │
│ class="dni-plaintext"><pre>unicodeString1</pre></div></td><td>FSI_0012+JValu │
│ e+JString</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString │
│ "프리마"</code></span></summary><div><table><thead><tr></tr></thea │
│ d><tbody><tr><td>Item</td><td><div │
│ class="dni-plaintext"><pre>프리마</pre></div></td></tr></tbody></table></div │
│ ></details></td></tr><tr><td><div │
│ class="dni-plaintext"><pre>unicodeString2</pre></div></td><td>FSI_0012+JValu │
│ e+JString</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>JString "Hello, │
│ "World"!"</code></span></summary><div><table><thead><tr></tr> │
│ </thead><tbody><tr><td>Item</td><td><div class="dni-plaintext"><pre>Hello, │
│ "World"!</pre></div></td></tr></tbody></table></div></details></td │
│ ></tr></tbody></table></td></tr></tbody></table></div></details></td></tr><t │
│ r><td>Item2</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>{ lines =<br/> [|"{"; " │
│ "string": "Hello, \"World\"!",";<br/> │
│ " "escapedString": "This string contains │
│ \\/\\\\\\b\\f\<br/>\\r\\t\\\"\\'",";<br/> " │
│ "number": 42,"; " "scientificNumber": │
│ 3.14e-10,"; " "boolean": true,";<br/> " │
│ "nullValue": null,"; " "array": [1, 2, 3, 4, │
│ 5],";<br/> " │
│ "unicodeS...</code></span></summary><div><table><thead><tr></tr></thead │
│ ><tbody><tr><td>lines</td><td><div class="dni-plaintext"><pre>[ {, │
│ "string": "Hello, \"World\"!",, │
│ "escapedString": "This string contains │
│ \\/\\\\\\b\\f\<br/>\\r\\t\\\"\\'",, "number": 42,, │
│ "scientificNumber": 3.14e-10,, "boolean": true,, │
│ "nullValue": null,, "array": [1, 2, 3, 4, 5],, │
│ "unicodeString1": "프리마",, │
│ "unicodeString2": "\u0048\u0065\u006C\u006C\u006F, │
│ \u0022\u0057\u006F\u0072\u006C\u0064\u0022!",, │
│ "specialCharacters": "!@#$%^&*()",, │
│ "emptyArray": [],, "emptyObject": {},, │
│ "nestedArrays": [[1, 2, 3], [4, 5, 6]],, "object": {, │
│ "nestedString": "Nested Value",, │
│ "nestedNumber": 3.14,, "nestedBoolean": false,, │
│ "nestedNull": null,, "nestedArray": ["a", │
│ "b", "c"],, "nestedObject": {, │
│ "nestedProperty": "Nested Object Value", }, },, │
│ "nestedObjects": [, {"name": "Alice", │
│ "age": 25},, {"name": "Bob", │
│ "age": 30}, ], } │
│ ]</pre></div></td></tr><tr><td>position</td><td><details │
│ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │
│ 29<br/> column = 0 │
│ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │
│ line</td><td><div │
│ class="dni-plaintext"><pre>29</pre></div></td></tr><tr><td>column</td><td><d │
│ iv │
│ class="dni-plaintext"><pre>0</pre></div></td></tr></tbody></table></div></de │
│ tails></td></tr></tbody></table></div></details></td></tr></tbody></table></ │
│ div></details></td></tr></tbody></table></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 670.85ms - stdout ]────────────────────────────────────────────────────────╮
│ JObject │
│ (map │
│ [("array", │
│ JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber │
│ 5.0]); │
│ ("boolean", JBool true); ("emptyArray", JArray []); │
│ ("emptyObject", JObject (map [])); │
│ ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'"); │
│ ("nestedArrays", │
│ JArray │
│ [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0]; │
│ JArray [JNumber 4.0; JNumber 5.0; JNumber 6.0]]); │
│ ("nestedObjects", │
│ JArray │
│ [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]); │
│ JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]); │
│ ("nullValue", JNull); ("number", JNumber 42.0); ...]) │
│ JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: array │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: 1 │
│ - Item: 2 │
│ - Item: 3 │
│ - Item: 4 │
│ - Item: 5 │
│ - Key: boolean │
│ Value: JBool │
│ Item: True │
│ - Key: emptyArray │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ │
│ - Key: emptyObject │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ │
│ - Key: escapedString │
│ Value: JString │
│ Item: This string contains \/\\\b\f\n\r\t\"\' │
│ - Key: nestedArrays │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: [ JNumber 1.0, JNumber 2.0, JNumber 3.0 ] │
│ - Item: [ JNumber 4.0, JNumber 5.0, JNumber 6.0 ] │
│ - Key: nestedObjects │
│ Value: JArray │
│ Item: FSharpList<JValue> │
│ - Item: [ [age, JNumber 25.0], [name, JString "Alice"] ] │
│ - Item: [ [age, JNumber 30.0], [name, JString "Bob"] ] │
│ - Key: nullValue │
│ Value: JNull │
│ - Key: number │
│ Value: JNumber │
│ Item: 42 │
│ - Key: object │
│ Value: JObject │
│ Item: FSharpMap<String,JValue> │
│ - Key: nestedArray │
│ Value: JArray [JString "a"; JString "b"; JString "c"] │
│ - Key: nestedBoolean │
│ Value: JBool false │
│ - Key: nestedNull │
│ Value: JNull │
│ - Key: nestedNumber │
│ Value: JNumber 3.14 │
│ - Key: nestedObject │
│ Value: JObject (map [("nestedProperty", JString "Nested │
│ Object Value")]) │
│ - Key: nestedString │
│ Value: JString "Nested Value" │
│ - Key: scientificNumber │
│ Value: JNumber │
│ Item: 3.14E-10 │
│ - Key: specialCharacters │
│ Value: JString │
│ Item: !@#$%^&*() │
│ - Key: string │
│ Value: JString │
│ Item: Hello, "World"! │
│ - Key: unicodeString1 │
│ Value: JString │
│ Item: 프리마 │
│ - Key: unicodeString2 │
│ Value: JString │
│ Item: Hello, "World"! │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook JsonParser.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 502725 bytes to JsonParser.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Parser (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### TextInput │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Position =
{
line : int
column : int
}
── fsharp ──────────────────────────────────────────────────────────────────────
let initialPos = { line = 0; column = 0 }
── fsharp ──────────────────────────────────────────────────────────────────────
let inline incrCol (pos : Position) =
{ pos with column = pos.column + 1 }
── fsharp ──────────────────────────────────────────────────────────────────────
let inline incrLine pos =
{ line = pos.line + 1; column = 0 }
── fsharp ──────────────────────────────────────────────────────────────────────
type InputState =
{
lines : string[[]]
position : Position
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline fromStr str =
{
lines =
if str |> String.IsNullOrEmpty
then [[||]]
else str |> String.splitString [[| "\r\n"; "\n" |]]
position = initialPos
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fromStr "" |> _equal {
lines = [[||]]
position = { line = 0; column = 0 }
}
╭─[ 51.34ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fromStr "Hello \n World" |> _equal {
lines = [[| "Hello "; " World" |]]
position = { line = 0; column = 0 }
}
╭─[ 21.70ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ Hello , World ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline currentLine inputState =
let linePos = inputState.position.line
if linePos < inputState.lines.Length
then inputState.lines.[[linePos]]
else "end of file"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline nextChar input =
let linePos = input.position.line
let colPos = input.position.column
if linePos >= input.lines.Length
then input, None
else
let currentLine = currentLine input
if colPos < currentLine.Length then
let char = currentLine.[[colPos]]
let newPos = incrCol input.position
let newState = { input with position = newPos }
newState, Some char
else
let char = '\n'
let newPos = incrLine input.position
let newState = { input with position = newPos }
newState, Some char
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let newInput, charOpt = fromStr "Hello World" |> nextChar
newInput |> _equal {
lines = [[| "Hello World" |]]
position = { line = 0; column = 1 }
}
charOpt |> _equal (Some 'H')
╭─[ 54.93ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ Hello World ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ FSharpOption<Char> │
│ Value: H │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let newInput, charOpt = fromStr "Hello\n\nWorld" |> nextChar
newInput |> _equal {
lines = [[| "Hello"; ""; "World" |]]
position = { line = 0; column = 1 }
}
charOpt |> _equal (Some 'H')
╭─[ 32.11ms - stdout ]─────────────────────────────────────────────────────────╮
│ InputState │
│ lines: [ Hello, , World ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ FSharpOption<Char> │
│ Value: H │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### Parser │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type Input = InputState
type ParserLabel = string
type ParserError = string
type ParserPosition =
{
currentLine : string
line : int
column : int
}
type ParseResult<'a> =
| Success of 'a
| Failure of ParserLabel * ParserError * ParserPosition
type Parser<'a> =
{
label : ParserLabel
parseFn : Input -> ParseResult<'a * Input>
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline printResult result =
match result with
| Success (value, input) ->
printfn $"%A{value}"
| Failure (label, error, parserPos) ->
let errorLine = parserPos.currentLine
let colPos = parserPos.column
let linePos = parserPos.line
let failureCaret = $"{' ' |> string |> String.replicate colPos}^{error}"
printfn $"Line:%i{linePos} Col:%i{colPos} Error parsing
%s{label}\n%s{errorLine}\n%s{failureCaret}"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runOnInput parser input =
parser.parseFn input
── fsharp ──────────────────────────────────────────────────────────────────────
let inline run parser inputStr =
runOnInput parser (fromStr inputStr)
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parserPositionFromInputState (inputState : Input) =
{
currentLine = currentLine inputState
line = inputState.position.line
column = inputState.position.column
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getLabel parser =
parser.label
── fsharp ──────────────────────────────────────────────────────────────────────
let inline setLabel parser newLabel =
{
label = newLabel
parseFn = fun input ->
match parser.parseFn input with
| Success s -> Success s
| Failure (oldLabel, err, pos) -> Failure (newLabel, err, pos)
}
── fsharp ──────────────────────────────────────────────────────────────────────
let (<?>) = setLabel
── fsharp ──────────────────────────────────────────────────────────────────────
let inline satisfy predicate label =
{
label = label
parseFn = fun input ->
let remainingInput, charOpt = nextChar input
match charOpt with
| None ->
let err = "No more input"
let pos = parserPositionFromInputState input
Failure (label, err, pos)
| Some first ->
if predicate first
then Success (first, remainingInput)
else
let err = $"Unexpected '%c{first}'"
let pos = parserPositionFromInputState input
Failure (label, err, pos)
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
runOnInput parser input |> _equal (
Success (
'H',
{
lines = [[| "Hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 35.37ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - H │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "World"
let parser = satisfy (fun c -> c = 'H') "H"
runOnInput parser input |> _equal (
Failure (
"H",
"Unexpected 'W'",
{
currentLine = "World"
line = 0
column = 0
}
)
)
╭─[ 38.23ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: H │
│ Item2: Unexpected 'W' │
│ Item3: ParserPosition │
│ currentLine: World │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline bindP f p =
{
label = "unknown"
parseFn = fun input ->
match runOnInput p input with
| Failure (label, err, pos) -> Failure (label, err, pos)
| Success (value1, remainingInput) -> runOnInput (f value1)
remainingInput
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (>>=) p f = bindP f p
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e"
runOnInput parser2 input |> _equal (
Success (
'e',
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 48.03ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - e │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "World"
let parser = satisfy (fun c -> c = 'W') "W"
let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e"
runOnInput parser2 input |> _equal (
Failure (
"e",
"Unexpected 'o'",
{
currentLine = "World"
line = 0
column = 1
}
)
)
╭─[ 42.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: e │
│ Item2: Unexpected 'o' │
│ Item3: ParserPosition │
│ currentLine: World │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline returnP x =
{
label = $"%A{x}"
parseFn = fun input -> Success (x, input)
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = returnP "Hello"
runOnInput parser input |> _equal (
Success (
"Hello",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 0 }
}
)
)
╭─[ 36.31ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline mapP f =
bindP (f >> returnP)
── fsharp ──────────────────────────────────────────────────────────────────────
let (<!>) = mapP
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (|>>) x f = f <!> x
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = parser |>> string
runOnInput parser2 input |> _equal (
Success (
"H",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 47.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - H │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline applyP fP xP =
fP >>=
fun f ->
xP >>=
fun x ->
returnP (f x)
── fsharp ──────────────────────────────────────────────────────────────────────
let (<*>) = applyP
── fsharp ──────────────────────────────────────────────────────────────────────
let inline lift2 f xP yP =
returnP f <*> xP <*> yP
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'e') "e"
let parser3 = lift2 (fun c1 c2 -> string c1 + string c2) parser parser2
runOnInput parser3 input |> _equal (
Success (
"He",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 77.88ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - He │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline andThen p1 p2 =
p1 >>=
fun p1Result ->
p2 >>=
fun p2Result ->
returnP (p1Result, p2Result)
<?> $"{getLabel p1} andThen {getLabel p2}"
── fsharp ──────────────────────────────────────────────────────────────────────
let (.>>.) = andThen
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'e') "e"
let parser3 = parser .>>. parser2
runOnInput parser3 input |> _equal (
Success (
('H', 'e'),
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 52.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - ( H, e ) │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline orElse p1 p2 =
{
label = $"{getLabel p1} orElse {getLabel p2}"
parseFn = fun input ->
match runOnInput p1 input with
| Success _ as result -> result
| Failure _ -> runOnInput p2 input
}
── fsharp ──────────────────────────────────────────────────────────────────────
let (<|>) = orElse
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'h') "h"
let parser3 = parser <|> parser2
runOnInput parser3 input |> _equal (
Success (
'h',
{
lines = [[| "hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 51.45ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - h │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline choice listOfParsers =
listOfParsers |> List.reduce (<|>)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'h') "h"
let parser3 = choice [[ parser; parser2 ]]
runOnInput parser3 input |> _equal (
Success (
'h',
{
lines = [[| "hello" |]]
position = { line = 0; column = 1 }
}
)
)
╭─[ 45.36ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - h │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let rec sequence parserList =
match parserList with
| [[]] -> returnP [[]]
| head :: tail -> (lift2 cons) head (sequence tail)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = satisfy (fun c -> c = 'e') "e"
let parser3 = sequence [[ parser; parser2 ]]
runOnInput parser3 input |> _equal (
Success (
[[ 'H'; 'e' ]],
{
lines = [[| "Hello" |]]
position = { line = 0; column = 2 }
}
)
)
╭─[ 58.85ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ H, e ] │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let rec parseZeroOrMore parser input =
match runOnInput parser input with
| Failure (_, _, _) ->
[[]], input
| Success (firstValue, inputAfterFirstParse) ->
let subsequentValues, remainingInput = parseZeroOrMore parser
inputAfterFirstParse
firstValue :: subsequentValues, remainingInput
── fsharp ──────────────────────────────────────────────────────────────────────
let inline many parser =
{
label = $"many {getLabel parser}"
parseFn = fun input -> Success (parseZeroOrMore parser input)
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = many parser
runOnInput parser2 input |> _equal (
Success (
[[]],
{
lines = [[| "hello" |]]
position = { line = 0; column = 0 }
}
)
)
╭─[ 36.34ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ ] │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline many1 p =
p >>=
fun head ->
many p >>=
fun tail ->
returnP (head :: tail)
<?> $"many1 {getLabel p}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = many1 parser
runOnInput parser2 input |> _equal (
Failure (
"many1 H",
"Unexpected 'h'",
{
currentLine = "hello"
line = 0
column = 0
}
)
)
╭─[ 51.85ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: many1 H │
│ Item2: Unexpected 'h' │
│ Item3: ParserPosition │
│ currentLine: hello │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline opt p =
let some = p |>> Some
let none = returnP None
(some <|> none)
<?> $"opt {getLabel p}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "hello"
let parser = satisfy (fun c -> c = 'H') "H"
let parser2 = opt parser
runOnInput parser2 input |> _equal (
Success (
None,
{
lines = [[| "hello" |]]
position = { line = 0; column = 0 }
}
)
)
╭─[ 58.24ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - <null> │
│ - InputState │
│ lines: [ hello ] │
│ position: Position │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (.>>) p1 p2 =
p1 .>>. p2
|> mapP fst
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (>>.) p1 p2 =
p1 .>>. p2
|> mapP snd
── fsharp ──────────────────────────────────────────────────────────────────────
let inline between p1 p2 p3 =
p1 >>. p2 .>> p3
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "[[Hello]]"
let parser =
between
(satisfy (fun c -> c = '[[') "[[")
(many (satisfy (fun c -> [[ 'a' .. 'z' ]] @ [[ 'A' .. 'Z' ]] |>
List.contains c) "letter"))
(satisfy (fun c -> c = ']]') "]]")
runOnInput parser input |> _equal (
Success (
[[ 'H'; 'e'; 'l'; 'l'; 'o' ]],
{
lines = [[| "[[Hello]]" |]]
position = { line = 0; column = 7 }
}
)
)
╭─[ 118.18ms - stdout ]────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ H, e, l, l, o ] │
│ - InputState │
│ lines: [ [Hello] ] │
│ position: Position │
│ line: 0 │
│ column: 7 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sepBy1 p sep =
let sepThenP = sep >>. p
p .>>. many sepThenP
|>> fun (p, pList) -> p :: pList
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sepBy p sep =
sepBy1 p sep <|> returnP [[]]
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello,World"
let parser = sepBy (many (satisfy (fun c -> c <> ',') "not comma")) (satisfy
(fun c -> c = ',') "comma")
runOnInput parser input |> _equal (
Success (
[[ [[ 'H'; 'e'; 'l'; 'l'; 'o' ]]; [[ 'W'; 'o'; 'r'; 'l'; 'd'; '\n' ]]
]],
{
lines = [[| "Hello,World" |]]
position = { line = 1; column = 0 }
}
)
)
╭─[ 83.27ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - FSharpList<FSharpList<Char>> │
│ [ H, e, l, l, o ] │
│ [ W, o, r, l, d, │
│ ] │
│ - InputState │
│ lines: [ Hello,World ] │
│ position: Position │
│ line: 1 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline pchar charToMatch =
satisfy ((=) charToMatch) $"%c{charToMatch}"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline anyOf listOfChars =
listOfChars
|> List.map pchar
|> choice
<?> $"anyOf %A{listOfChars}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = anyOf [[ 'H'; 'e'; 'l'; 'o' ]] |> many
runOnInput parser input |> _equal (
Success (
[[ 'H'; 'e'; 'l'; 'l'; 'o' ]],
{
lines = [[| "Hello" |]]
position = { line = 0; column = 5 }
}
)
)
╭─[ 56.72ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - [ H, e, l, l, o ] │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 5 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline charListToStr charList =
charList |> List.toArray |> String
── fsharp ──────────────────────────────────────────────────────────────────────
let inline manyChars cp =
many cp
|>> charListToStr
── fsharp ──────────────────────────────────────────────────────────────────────
let inline manyChars1 cp =
many1 cp
|>> charListToStr
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = manyChars1 (anyOf [[ 'H'; 'e'; 'l'; 'o' ]])
runOnInput parser input |> _equal (
Success (
"Hello",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 5 }
}
)
)
╭─[ 81.34ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 5 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline pstring str =
str
|> List.ofSeq
|> List.map pchar
|> sequence
|> mapP charListToStr
<?> str
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = pstring "Hello"
runOnInput parser input |> _equal (
Success (
"Hello",
{
lines = [[| "Hello" |]]
position = { line = 0; column = 5 }
}
)
)
╭─[ 55.30ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 5 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let whitespaceChar =
satisfy Char.IsWhiteSpace "whitespace"
── fsharp ──────────────────────────────────────────────────────────────────────
let spaces = many whitespaceChar
── fsharp ──────────────────────────────────────────────────────────────────────
let spaces1 = many1 whitespaceChar
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr " Hello"
let parser = spaces1 .>>. pstring "Hello"
runOnInput parser input |> _equal (
Success (
([[ ' '; ' ' ]], "Hello"),
{
lines = [[| " Hello" |]]
position = { line = 0; column = 7 }
}
)
)
╭─[ 97.18ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - - [ , ] │
│ - Hello │
│ - InputState │
│ lines: [ Hello ] │
│ position: Position │
│ line: 0 │
│ column: 7 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let digitChar =
satisfy Char.IsDigit "digit"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let input = fromStr "Hello"
let parser = digitChar
runOnInput parser input |> _equal (
Failure (
"digit",
"Unexpected 'H'",
{
currentLine = "Hello"
line = 0
column = 0
}
)
)
╭─[ 22.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ Failure │
│ Item1: digit │
│ Item2: Unexpected 'H' │
│ Item3: ParserPosition │
│ currentLine: Hello │
│ line: 0 │
│ column: 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let pint =
let inline resultToInt (sign, digits) =
let i = int digits
match sign with
| Some ch -> -i
| None -> i
let digits = manyChars1 digitChar
opt (pchar '-') .>>. digits
|> mapP resultToInt
<?> "integer"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run pint "-123"
|> _equal (
Success (
-123,
{
lines = [[| "-123" |]]
position = { line = 0; column = 4 }
}
)
)
╭─[ 38.41ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - -123 │
│ - InputState │
│ lines: [ -123 ] │
│ position: Position │
│ line: 0 │
│ column: 4 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let pfloat =
let inline resultToFloat (((sign, digits1), point), digits2) =
let fl = float $"{digits1}.{digits2}"
match sign with
| Some ch -> -fl
| None -> fl
let digits = manyChars1 digitChar
opt (pchar '-') .>>. digits .>>. pchar '.' .>>. digits
|> mapP resultToFloat
<?> "float"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
run pfloat "-123.45"
|> _equal (
Success (
-123.45,
{
lines = [[| "-123.45" |]]
position = { line = 0; column = 7 }
}
)
)
╭─[ 39.62ms - stdout ]─────────────────────────────────────────────────────────╮
│ Success │
│ Item: - -123.45 │
│ - InputState │
│ lines: [ -123.45 ] │
│ position: Position │
│ line: 0 │
│ column: 7 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline createParserForwardedToRef<'a> () =
let mutable parserRef : Parser<'a> =
{
label = "unknown"
parseFn = fun _ -> failwith "unfixed forwarded parser"
}
let wrapperParser =
{ parserRef with
parseFn = fun input -> runOnInput parserRef input
}
wrapperParser, (fun v -> parserRef <- v)
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (>>%) p x =
p
|>> fun _ -> x
[NbConvertApp] Converting notebook Parser.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 412907 bytes to Parser.dib.html
23:08:35 #1 [Debug] writeDibCode / output: Fs / path: JsonParser.dib
23:08:35 #1 [Debug] writeDibCode / output: Fs / path: Parser.dib
23:08:35 #3 [Debug] parseDibCode / output: Fs / file: Parser.dib
23:08:35 #3 [Debug] parseDibCode / output: Fs / file: JsonParser.dib
In [ ]:
{ . "$ScriptDir/../nbs/build.ps1" } | Invoke-Block
── csharp ──────────────────────────────────────────────────────────────────────
── csharp - import ─────────────────────────────────────────────────────────────
using static Microsoft.DotNet.Interactive.Kernel;
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Async (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## choice │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## map │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline map fn a = async {
let! x = a
return fn x
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## catch │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline catch a =
a
|> Async.Catch
|> map (function
| Choice1Of2 result -> Ok result
| Choice2Of2 ex -> Error ex
)
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## runWithTimeoutAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutAsync (timeout : int) fn =
let getLocals () = $"timeout: {timeout} / {getLocals ()}"
let timeoutTask = async {
do! Async.Sleep timeout
trace Debug (fun () -> "runWithTimeoutAsync") getLocals
return None
}
let task = async {
try
let! result = fn
return Some result
with
| :? System.AggregateException as ex when
ex.InnerExceptions
|> Seq.exists (function :?
System.Threading.Tasks.TaskCanceledException -> true | _ -> false)
->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
trace Warning (fun () -> "runWithTimeoutAsync") getLocals
return None
| ex ->
trace Critical (fun () -> $"runWithTimeoutAsync** / ex: {ex |>
printException}") getLocals
return None
}
[[ timeoutTask; task ]]
|> choice
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeout timeout fn =
fn
|> runWithTimeoutAsync timeout
|> Async.RunSynchronously
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 60
|> runWithTimeout 10
|> _equal None
╭─[ 163.42ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 10 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 10
|> runWithTimeout 60
|> _equal (Some ())
╭─[ 117.70ms - stdout ]────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
async {
raise (exn "error")
}
|> runWithTimeout 60
|> _equal None
╭─[ 122.59ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Critical] runWithTimeoutAsync** / ex: System.Exception: error / │
│ timeout: 60 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## runWithTimeoutChildAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutChildAsync (timeout : int) fn = async {
let getLocals () = $"timeout: {timeout} / {getLocals ()}"
let! child = Async.StartChild (fn, timeout)
return!
child
|> catch
|> map (function
| Ok result -> Some result
| Error (:? System.TimeoutException as ex) ->
trace Debug (fun () -> $"runWithTimeoutChildAsync") getLocals
None
| Error ex ->
trace Critical (fun () -> $"runWithTimeoutChildAsync** / ex: {ex
|> printException}") getLocals
None
)
}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutChild timeout fn =
fn
|> runWithTimeoutChildAsync timeout
|> Async.RunSynchronously
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 60
|> runWithTimeoutChild 10
|> _equal None
╭─[ 103.28ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #3 [Debug] runWithTimeoutChildAsync / timeout: 10 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 10
|> runWithTimeoutChild 60
|> _equal (Some ())
╭─[ 86.41ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
async {
raise (exn "error")
}
|> runWithTimeoutChild 60
|> _equal None
╭─[ 80.20ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #4 [Critical] runWithTimeoutChildAsync** / ex: System.Exception: │
│ error / timeout: 60 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## runWithTimeoutStrict │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline runWithTimeoutStrict (timeout : int) fn =
let getLocals () = $"timeout: {timeout} / {getLocals ()}"
let timeoutTask = async {
do! Async.Sleep timeout
return None, getLocals
}
let task = async {
try
return Async.RunSynchronously (fn, timeout) |> Some, getLocals
with
| :? System.TimeoutException as ex ->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
return None, getLocals
| ex ->
trace Critical (fun () -> $"runWithTimeoutStrict / ex: {ex |>
printException}") getLocals
return raise ex
}
try
[[| timeoutTask; task |]]
|> Array.map Async.StartAsTask
|> System.Threading.Tasks.Task.WhenAny
|> fun task ->
match task.Result.Result with
| None, getLocals ->
trace Debug (fun () -> "runWithTimeoutStrict") getLocals
None
| result, _ -> result
with
| :? System.AggregateException as ex when
ex.InnerExceptions
|> Seq.exists (function :? System.Threading.Tasks.TaskCanceledException
-> true | _ -> false)
->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
trace Warning (fun () -> "runWithTimeoutStrict") getLocals
None
| ex ->
let getLocals () = $"ex: {ex |> printException} / {getLocals ()}"
trace Critical (fun () -> "runWithTimeoutStrict**") getLocals
None
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 60
|> runWithTimeoutStrict 10
|> _equal None
╭─[ 126.67ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #5 [Debug] runWithTimeoutStrict / timeout: 10 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
Async.Sleep 10
|> runWithTimeoutStrict 60
|> _equal (Some ())
╭─[ 106.96ms - stdout ]────────────────────────────────────────────────────────╮
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
async {
raise (exn "error")
}
|> runWithTimeoutStrict 60
|> _equal None
╭─[ 102.10ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:01 #6 [Critical] runWithTimeoutStrict / ex: System.Exception: error / │
│ timeout: 60 │
│ 00:00:01 #7 [Critical] runWithTimeoutStrict** / ex: │
│ System.AggregateException: One or more errors occurred. (error) / timeout: │
│ 60 │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## awaitValueTask │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline awaitValueTaskUnit (task : System.Threading.Tasks.ValueTask) =
task.AsTask () |> Async.AwaitTask
let inline awaitValueTask (task : System.Threading.Tasks.ValueTask<_>) =
task.AsTask () |> Async.AwaitTask
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## init │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline init x = async {
return x
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
init 1
|> Async.RunSynchronously
|> _equal 1
╭─[ 41.81ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## mergeCancellationTokenWithDefaultAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline mergeCancellationTokenWithDefaultAsync (token :
System.Threading.CancellationToken) = async {
let! ct = Async.CancellationToken
let dct = Async.DefaultCancellationToken
let cts = System.Threading.CancellationTokenSource.CreateLinkedTokenSource
[[| ct; dct; token |]]
return cts.Token
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## withCancellationToken │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline withCancellationToken (ct : System.Threading.CancellationToken) fn =
Async.StartImmediateAsTask (fn, ct)
|> Async.AwaitTask
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let cts = new System.Threading.CancellationTokenSource ()
async {
let run = async {
do! Async.Sleep 100
return 1
}
let! child =
run
|> withCancellationToken cts.Token
|> catch
|> Async.StartChild
do! Async.Sleep 50
cts.Cancel ()
return! child
}
|> Async.RunSynchronously
|> Result.mapError (fun x -> x.Message)
|> _equal (Error ("A task was canceled."))
╭─[ 214.67ms - stdout ]────────────────────────────────────────────────────────╮
│ FSharpResult<Int32,String> │
│ ResultValue: 0 │
│ ErrorValue: A task was canceled. │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## withTraceLevel │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline withTraceLevel level fn = async {
let oldTraceLevel = traceLevel
try
traceLevel <- level
return! fn
finally
traceLevel <- oldTraceLevel
}
[NbConvertApp] Converting notebook Async.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 323665 bytes to Async.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # AsyncSeq (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/Async.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## subscribeEvent │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
type TestEvent () as self =
member val Calls = [[]] with get, set
member val Event = Event<ErrorEventHandler, ErrorEventArgs> () with get
member _.AddCall text =
self.Calls <- self.Calls @ [[ text ]]
member _.EventInterface =
{ new IEvent<ErrorEventHandler, ErrorEventArgs> with
member _.AddHandler handler =
self.AddCall "AddHandler"
self.Event.Publish.AddHandler handler
member _.RemoveHandler handler =
self.AddCall "RemoveHandler"
self.Event.Publish.RemoveHandler handler
member _.Subscribe observer =
self.AddCall "IObservable.Subscribe"
let disposable = self.Event.Publish.Subscribe observer
newDisposable (fun () ->
self.AddCall "IObservable.Dispose"
disposable.Dispose ()
)
}
member _.Subscribe () =
subscribeEvent
self.EventInterface
(fun args ->
let result = args.GetException () |> printException
self.AddCall $"TestEvent.Subscribe({result})"
result
)
member _.Iter subscription =
subscription
|> FSharp.Control.AsyncSeq.iteriAsync (fun i error -> async {
self.AddCall $"TestEvent.Iter({i}: {error})"
})
member _.WaitCall text = async {
while self.Calls |> List.last <> text do
do! Async.SwitchToThreadPool ()
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testEvent = TestEvent ()
async {
testEvent.AddCall "1"
let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
do! testEvent.WaitCall "AddHandler"
testEvent.AddCall "2"
do! child
testEvent.AddCall "3"
}
|> Async.runWithTimeout 300
|> _equal None
testEvent.Calls
|> Seq.toList
|> _equal [[ "1"; "AddHandler"; "2"; "RemoveHandler" ]]
╭─[ 510.09ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] runWithTimeoutAsync / timeout: 300 │
│ <null> │
│ [ 1, AddHandler, 2, RemoveHandler ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testEvent = TestEvent ()
async {
testEvent.AddCall "1"
let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
do! testEvent.WaitCall "AddHandler"
testEvent.AddCall "2"
use _ = testEvent.EventInterface.Subscribe (fun args ->
testEvent.AddCall $"testEvent.EventInterface.Subscribe({args})"
)
testEvent.AddCall "3"
do! child
testEvent.AddCall "4"
}
|> Async.runWithTimeout 300
|> _equal None
testEvent.Calls
|> _equal [[ "1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3";
"RemoveHandler"; "IObservable.Dispose" ]]
╭─[ 459.07ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 300 │
│ <null> │
│ [ 1, AddHandler, 2, IObservable.Subscribe, 3, RemoveHandler, │
│ IObservable.Dispose ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testEvent = TestEvent ()
async {
testEvent.AddCall "1"
let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild
do! testEvent.WaitCall "AddHandler"
testEvent.AddCall "2"
use _ = testEvent.EventInterface.Subscribe (fun args ->
async {
do! testEvent.WaitCall "TestEvent.Iter(0: System.Exception: error)"
testEvent.AddCall
$"testEvent.EventInterface.Subscribe({args.GetException () |> printException})"
}
|> Async.RunSynchronously
)
testEvent.AddCall "3"
testEvent.Event.Trigger (null, ErrorEventArgs (Exception "error"))
testEvent.AddCall "4"
do! child
testEvent.AddCall "5"
}
|> Async.runWithTimeout 300
|> _equal None
testEvent.Calls
|> _equal [[
"1"
"AddHandler"
"2"
"IObservable.Subscribe"
"3"
"TestEvent.Subscribe(System.Exception: error)"
"TestEvent.Iter(0: System.Exception: error)"
"testEvent.EventInterface.Subscribe(System.Exception: error)"
"4"
"RemoveHandler"
"IObservable.Dispose"
]]
╭─[ 509.77ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:01 #3 [Debug] runWithTimeoutAsync / timeout: 300 │
│ <null> │
│ [ 1, AddHandler, 2, IObservable.Subscribe, 3, │
│ TestEvent.Subscribe(System.Exception: error), TestEvent.Iter(0: │
│ System.Exception: error), │
│ testEvent.EventInterface.Subscribe(System.Exception: error), 4, │
│ RemoveHandler, IObservable.Dispose ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun () -> async {
do! tcs.Task |> Async.AwaitTask
return Some (System.DateTime.Now.Ticks - start, ())
})
()
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let cts = new System.Threading.CancellationTokenSource ()
async {
let! child =
cts.Token
|> subscribeToken
|> FSharp.Control.AsyncSeq.tryFirst
|> Async.StartChild
do! Async.Sleep 100
cts.Cancel ()
return! child
}
|> Async.RunSynchronously
|> Option.get
|> _isGreaterThan 1000000
╭─[ 188.02ms - stdout ]────────────────────────────────────────────────────────╮
│ 1094817 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook AsyncSeq.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 300346 bytes to AsyncSeq.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Common (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
let nl = System.Environment.NewLine
let q = @""""
── fsharp ──────────────────────────────────────────────────────────────────────
let inline cons head tail = head :: tail
── fsharp ──────────────────────────────────────────────────────────────────────
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input : string)
=
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline splitString (separator : string array) (input : string) =
input.Split (separator, System.StringSplitOptions.None)
let inline startsWith (value : string) (input : string) =
input.StartsWith value
let inline substring startIndex length (input : string) =
input.Substring (startIndex, length)
let inline toLower (input : string) =
input.ToLower ()
let inline toUpper (input : string) =
input.ToUpper ()
let inline trim (input : string) =
input.Trim ()
let inline trimEnd (trimChars : char array) (input : string) =
input.TrimEnd trimChars
let inline trimStart (trimChars : char array) (input : string) =
input.TrimStart trimChars
── fsharp ──────────────────────────────────────────────────────────────────────
type TicksGuid = System.Guid
type DateTimeGuid = System.Guid
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let testGuid = Guid "FEDCBA98-7654-3210-FEDC-BA9876543210"
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## dateTimeGuidFromDateTime │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline dateTimeGuidFromDateTime (guid: System.Guid) (dateTime:
System.DateTime) =
let guid = guid |> string
let prefix = dateTime.ToString "yyyyMMdd-HHmm-ssff-ffff-f"
DateTimeGuid $"{prefix}{guid.[[prefix.Length..]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeGuidFromDateTime testGuid DateTime.MinValue
|> _equal (DateTimeGuid "00010101-0000-0000-0000-0a9876543210")
╭─[ 77.04ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00010101-0000-0000-0000-0a9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeGuidFromDateTime testGuid DateTime.MaxValue
|> _equal (DateTimeGuid $"99991231-2359-5999-9999-9{(testGuid |>
string).[[^10..]]}")
╭─[ 51.55ms - stdout ]─────────────────────────────────────────────────────────╮
│ 99991231-2359-5999-9999-9a9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeGuidFromDateTime testGuid DateTime.UnixEpoch
|> _equal (DateTimeGuid $"19700101-0000-0000-0000-0{(testGuid |>
string).[[^10..]]}")
╭─[ 36.21ms - stdout ]─────────────────────────────────────────────────────────╮
│ 19700101-0000-0000-0000-0a9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## dateTimeFromGuid │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline dateTimeFromGuid (dateTimeGuid: DateTimeGuid) =
let dateTimeGuid = dateTimeGuid |> string
System.DateTime.ParseExact (dateTimeGuid.[[..24]] |> String.replace "-" "",
"yyyyMMddHHmmssfffffff", null)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeFromGuid (DateTimeGuid "00010101-0000-0000-0000-0a9876543210")
|> _equal DateTime.MinValue
╭─[ 26.99ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0001-01-01 00:00:00Z │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeFromGuid (DateTimeGuid $"99991231-2359-5999-9999-9{(testGuid |>
string).[[^10..]]}")
|> _equal DateTime.MaxValue
╭─[ 44.00ms - stdout ]─────────────────────────────────────────────────────────╮
│ 9999-12-31 23:59:59Z │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
dateTimeFromGuid (DateTimeGuid $"19700101-0000-0000-0000-0{(testGuid |>
string).[[^10..]]}")
|> _equal DateTime.UnixEpoch
╭─[ 39.92ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1970-01-01 00:00:00Z │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## ticksGuidFromTicks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline ticksGuidFromTicks (guid: System.Guid) (ticks: int64) =
let guid = guid |> string
let ticks = ticks |> string |> String.padLeft 18 '0'
TicksGuid
$"{ticks.[[0..7]]}-{ticks.[[8..11]]}-{ticks.[[12..15]]}-{ticks.[[16..17]]}{guid.
[[21..]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksGuidFromTicks testGuid 0L
|> _equal (TicksGuid "00000000-0000-0000-00dc-ba9876543210")
╭─[ 39.05ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00000000-0000-0000-00dc-ba9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksGuidFromTicks testGuid 999999999999999999L
|> _equal (TicksGuid $"99999999-9999-9999-99dc-b{(testGuid |>
string).[[^10..]]}")
╭─[ 47.91ms - stdout ]─────────────────────────────────────────────────────────╮
│ 99999999-9999-9999-99dc-ba9876543210 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## ticksFromGuid │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline ticksFromGuid (ticksGuid: DateTimeGuid) =
let ticks = ticksGuid |> string
int64
$"{ticks.[[0..7]]}{ticks.[[9..12]]}{ticks.[[14..17]]}{ticks.[[19..20]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksFromGuid (TicksGuid "00000000-0000-0000-00dc-ba9876543210")
|> _equal 0L
╭─[ 36.05ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
ticksFromGuid (TicksGuid $"99999999-9999-9999-99{(testGuid |>
string).[[^14..]]}")
|> _equal 999999999999999999L
╭─[ 42.44ms - stdout ]─────────────────────────────────────────────────────────╮
│ 999999999999999999 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newGuidFromDateTime │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newGuidFromDateTime (dateTime: System.DateTime) =
let guid = System.Guid.NewGuid ()
dateTimeGuidFromDateTime guid dateTime
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
newGuidFromDateTime System.DateTime.UtcNow
|> dateTimeFromGuid
|> fun dateTime -> (dateTime - System.DateTime.UtcNow).TotalSeconds |> int
|> _equal 0
╭─[ 72.63ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newGuidFromTicks │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newGuidFromTicks (ticks: int64) =
let guid = System.Guid.NewGuid ()
ticksGuidFromTicks guid ticks
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
newGuidFromTicks System.DateTime.UtcNow.Ticks
|> ticksFromGuid
|> fun ticks -> (ticks - System.DateTime.UtcNow.Ticks) / 100000L
|> _equal 0L
╭─[ 55.00ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## memoize │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline memoize fn =
let result = lazy fn ()
fun () -> result.Value
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable count = 0
let add =
fun () -> count <- count + 1
|> memoize
add ()
add ()
add ()
count
|> _equal 1
╭─[ 31.74ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## printException │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline printException (ex : System.Exception) =
$"{ex.GetType ()}: {ex.Message}"
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fun () -> failwith "test"
|> _throwsC (fun ex _ ->
printException ex
|> _equal "System.Exception: test"
)
╭─[ 55.63ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSI_0034+it@3-1 │
│ System.Exception: test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## trace │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type TraceLevel =
| Verbose
| Debug
| Info
| Warning
| Critical
let inline getLocals () = ""
let mutable traceEnabled = true
let mutable traceCount = 0
let mutable traceLevel = Verbose
let mutable traceDump = false
let private replStart =
#if INTERACTIVE
fun () ->
if System.Reflection.Assembly.GetEntryAssembly().GetName().Name =
"dotnet-repl"
then Some System.DateTime.Now.Ticks
else None
|> memoize
#else
fun () -> None : int64 option
#endif
let rec trace level fn getLocals =
if traceEnabled && level >= traceLevel then
traceCount <- traceCount + 1
let time =
#if CHAIN
""
#else
match replStart () with
| Some replStart ->
let t = System.DateTime.Now.Ticks - replStart |> System.TimeSpan
System.DateTime (1, 1, 1, t.Hours, t.Minutes, t.Seconds,
t.Milliseconds, t.Microseconds)
| None -> System.DateTime.Now
|> fun dateTime ->
#if FABLE_COMPILER_RUST
"hh:mm:ss"
#else
"HH:mm:ss"
#endif
|> dateTime.ToString
#endif
let text =
$"{time} #{traceCount} [[%A{level}]] %s{fn ()} / %s{getLocals ()}"
|> String.trimStart [[||]]
|> String.trimEnd [[| ' '; '/' |]]
System.Console.WriteLine text
#if !CHAIN && !FABLE_COMPILER
if traceDump then
try
let tmpPath = System.IO.Path.GetTempPath ()
let logDir = System.IO.Path.Combine (tmpPath, "!polyglot")
System.IO.Directory.CreateDirectory logDir |> ignore
let logFile = System.IO.Path.Combine (logDir,
$"{newGuidFromDateTime System.DateTime.Now}.txt")
System.IO.File.WriteAllTextAsync (logFile, text) |>
Async.AwaitTask |> Async.RunSynchronously
with ex ->
trace Critical (fun () -> $"trace / ex: {ex |> printException}")
getLocals
#endif
let inline withTrace enabled fn =
let oldTraceEnabled = traceEnabled
try
traceEnabled <- enabled
fn ()
finally
traceEnabled <- oldTraceEnabled
let inline withTraceEnabled fn =
withTrace true fn
let inline withTraceDisabled fn =
withTrace false fn
let inline withTraceLevel level fn =
let oldTraceLevel = traceLevel
try
traceLevel <- level
fn ()
finally
traceLevel <- oldTraceLevel
let inline withTraceDump dump fn =
let oldTraceDump = traceDump
try
traceDump <- dump
fn ()
finally
traceDump <- oldTraceDump
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
trace Debug (fun () -> "test") getLocals
╭─[ 33.10ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newDisposable │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newDisposable fn =
{ new System.IDisposable with
member _.Dispose () = fn ()
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
|> fun x -> x.Dispose ()
newDisposableTest |> _equal 1
╭─[ 21.91ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
fun () -> task {
use x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
()
}
|> fun x -> x () |> Async.AwaitTask |> Async.RunSynchronously
newDisposableTest |> _equal 1
╭─[ 141.71ms - stdout ]────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
async {
use x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
()
}
|> Async.RunSynchronously
newDisposableTest |> _equal 1
╭─[ 39.81ms - stdout ]─────────────────────────────────────────────────────────╮
│ 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable newDisposableTest = 0
async {
let x = newDisposable (fun () -> newDisposableTest <- newDisposableTest + 1)
()
}
|> Async.RunSynchronously
newDisposableTest |> _equal 0
╭─[ 49.69ms - stdout ]─────────────────────────────────────────────────────────╮
│ 0 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## retryFn │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline retryFn retries fn =
let rec loop retry =
try
if retry < retries
then fn () |> Some
else None
with ex ->
let getLocals () = $"retry: {retry} / ex: {ex |> printException} /
{getLocals ()}"
trace Warning (fun () -> "retryFn") getLocals
System.Threading.Thread.Sleep 1
loop (retry + 1)
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable retryFnTest = 0
fun () ->
retryFnTest <- retryFnTest + 1
retryFnTest
|> retryFn 3
|> _equal (Some 1)
╭─[ 39.97ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpOption<Int32> │
│ Value: 1 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fun () -> failwith "test"
|> retryFn 3
|> _equal None
╭─[ 72.94ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Warning] retryFn / retry: 0 / ex: System.Exception: test │
│ 00:00:00 #3 [Warning] retryFn / retry: 1 / ex: System.Exception: test │
│ 00:00:00 #4 [Warning] retryFn / retry: 2 / ex: System.Exception: test │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable retryFnTest = 0
fun () ->
if retryFnTest >= 2
then retryFnTest
else
retryFnTest <- retryFnTest + 1
failwith "test"
|> retryFn 3
|> _equal (Some 2)
╭─[ 60.73ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #5 [Warning] retryFn / retry: 0 / ex: System.Exception: test │
│ 00:00:00 #6 [Warning] retryFn / retry: 1 / ex: System.Exception: test │
│ FSharpOption<Int32> │
│ Value: 2 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Common.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 347390 bytes to Common.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # CommonFSharp (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getUnionCaseName │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
TraceLevel.Critical
|> getUnionCaseName
|> _equal (nameof TraceLevel.Critical)
╭─[ 88.51ms - stdout ]─────────────────────────────────────────────────────────╮
│ Critical │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook CommonFSharp.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 274474 bytes to CommonFSharp.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Threading (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## newDisposableToken │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline newDisposableToken (mergeToken: System.Threading.CancellationToken
option) =
let cts = new System.Threading.CancellationTokenSource ()
let cts =
match mergeToken with
| None -> cts
| Some mergeToken ->
System.Threading.CancellationTokenSource.CreateLinkedTokenSource [[|
cts.Token; mergeToken |]]
let disposable = newDisposable cts.Cancel
cts.Token, disposable
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let mutable counter = 0
let inline run fn =
let token, disposable = newDisposableToken None
use _ = disposable
fn token
async {
fn token
}
|> Async.Start
let inline fn (token : System.Threading.CancellationToken) =
counter <- counter + (if token.IsCancellationRequested then 10 else 1)
async {
run fn
do! Async.Sleep 1
return counter
}
|> Async.RunSynchronously
|> _equal 11
╭─[ 248.67ms - stdout ]────────────────────────────────────────────────────────╮
│ 11 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Threading.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 277490 bytes to Threading.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Crypto (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## hashText │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let hashText (input : string) =
use sha256 = System.Security.Cryptography.SHA256.Create ()
input
|> System.Text.Encoding.UTF8.GetBytes
|> sha256.ComputeHash
|> Array.map (fun b -> b.ToString "x2")
|> String.concat ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
""
|> hashText
|> _equal "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
╭─[ 71.07ms - stdout ]─────────────────────────────────────────────────────────╮
│ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
" "
|> hashText
|> _equal "36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068"
╭─[ 21.99ms - stdout ]─────────────────────────────────────────────────────────╮
│ 36a9e7f1c95b82ffb99743e0c5c4ce95d83c9a430aac59f84ef3cbfab6145068 │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Crypto.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 276308 bytes to Crypto.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # FileSystem (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Runtime.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Operators │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
── fsharp ──────────────────────────────────────────────────────────────────────
open Operators
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## createTempDirectoryName │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
createTempDirectoryName ()
|> _contains System.IO.Path.DirectorySeparatorChar
╭─[ 57.16ms - stdout ]─────────────────────────────────────────────────────────╮
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1450-5020-548af │
│ de0f6ca │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## createTempDirectory │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder: {tempFolder} / result: {({|
Exists = result.Exists
CreationTime = result.CreationTime
|})} {getLocals ()}"
trace Debug (fun () -> "createTempDirectory") getLocals
tempFolder
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempDirectory = createTempDirectory ()
Directory.Exists tempDirectory
|> _equal true
╭─[ 78.28ms - stdout ]─────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1464-6442-68ce7 │
│ 3ac7c4a / result: { CreationTime = 2023-10-08 11:10:14 PM │
│ Exists = true } │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getSourceDirectory │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let getSourceDirectory =
fun () -> __SOURCE_DIRECTORY__
|> memoize
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getSourceDirectory ()
|> System.IO.DirectoryInfo
|> fun dir -> dir.Name
|> _equal "nbs"
╭─[ 35.75ms - stdout ]─────────────────────────────────────────────────────────╮
│ nbs │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## findParent │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline findParent name isFile rootDir =
let rec loop dir =
if dir </> name |> (if isFile then System.IO.File.Exists else
System.IO.Directory.Exists)
then dir
else
dir
|> System.IO.Directory.GetParent
|> function
| null -> failwith $"""No parent for {if isFile then "file" else
"dir"} '{name}' at '{rootDir}'"""
| parent -> parent.FullName |> loop
loop rootDir
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getSourceDirectory () |> findParent ".paket" false
|> System.IO.DirectoryInfo
|> fun dir -> dir.Name
|> _equal "polyglot"
╭─[ 29.51ms - stdout ]─────────────────────────────────────────────────────────╮
│ polyglot │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getSourceDirectory () |> findParent "paket.dependencies" true
|> System.IO.DirectoryInfo
|> fun dir -> dir.Name
|> _equal "polyglot"
╭─[ 24.47ms - stdout ]─────────────────────────────────────────────────────────╮
│ polyglot │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## readAllTextAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline readAllTextAsync path =
path |> System.IO.File.ReadAllTextAsync |> Async.AwaitTask
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## fileExistsContent │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline fileExistsContent path content = async {
if path |> System.IO.File.Exists |> not
then return false
else
let! existingContent = path |> readAllTextAsync
return content = existingContent
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeAllTextAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeAllTextAsync path contents =
System.IO.File.WriteAllTextAsync (path, contents) |> Async.AwaitTask
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## writeAllTextExists │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline writeAllTextExists path contents = async {
let! exists = contents |> fileExistsContent path
if not exists
then do! contents |> writeAllTextAsync path
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## waitForFileAccess │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline waitForFileAccess access path =
let fileAccess, fileShare =
access
|> Option.defaultValue (System.IO.FileAccess.ReadWrite,
System.IO.FileShare.Read)
let rec loop retry = async {
try
use _ = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
fileAccess,
fileShare
)
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () = $"path: {path} / ex: {ex |> printException} /
{getLocals ()}"
trace Debug (fun () -> "waitForFileAccess") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test.txt"
let inline lockFile () = async {
trace Debug (fun () -> "_1") getLocals
use stream = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
stream.Seek (0L, SeekOrigin.Begin) |> ignore
trace Debug (fun () -> "_4") getLocals
stream.WriteByte 49uy
trace Debug (fun () -> "_5") getLocals
stream.Flush ()
trace Debug (fun () -> "_6") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
do! "0" |> writeAllTextAsync path
trace Debug (fun () -> "2") getLocals
let! child = lockFile () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "4") getLocals
let! retries = path |> waitForFileAccess None
trace Debug (fun () -> "5") getLocals
let! text = path |> readAllTextAsync
trace Debug (fun () -> "6") getLocals
do! child
trace Debug (fun () -> "7") getLocals
return retries, text
}
|> Async.runWithTimeout 3000
|> function
| Some (retries, text) ->
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 100)
(if Runtime.isWindows () then 150 else 200)
text |> _equal "1"
true
| _ -> false
|> _equal true
╭─[ 2.45s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-42611 │
│ 4067616 / result: { CreationTime = 2023-10-08 11:10:15 PM │
│ Exists = true } │
│ 00:00:00 #3 [Debug] 1 │
│ 00:00:00 #4 [Debug] 2 │
│ 00:00:00 #5 [Debug] _1 │
│ 00:00:00 #6 [Debug] 3 │
│ 00:00:00 #7 [Debug] _2 │
│ 00:00:00 #8 [Debug] 4 │
│ 00:00:00 #9 [Debug] waitForFileAccess / path: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-42611 │
│ 4067616\test.txt / ex: System.IO.IOException: The process cannot access the │
│ file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-4261 │
│ 14067616\test.txt' because it is being used by another process. │
│ 00:00:02 #10 [Debug] waitForFileAccess / path: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-42611 │
│ 4067616\test.txt / ex: System.IO.IOException: The process cannot access the │
│ file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1541-4140-4261 │
│ 14067616\test.txt' because it is being used by another process. │
│ 00:00:02 #11 [Debug] _3 │
│ 00:00:02 #12 [Debug] _4 │
│ 00:00:02 #13 [Debug] _5 │
│ 00:00:02 #14 [Debug] _6 │
│ 00:00:02 #15 [Debug] 5 │
│ 00:00:02 #16 [Debug] 6 │
│ 00:00:02 #17 [Debug] 7 │
│ 128 │
│ 128 │
│ 128 │
│ 1 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## deleteDirectoryAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline deleteDirectoryAsync path =
let rec loop retry = async {
try
System.IO.Directory.Delete (path, true)
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () = $"path: {path} / ex: {ex |> printException} /
{getLocals ()}"
trace Debug (fun () -> "deleteDirectoryAsync") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test"
let inline lockDirectory () = async {
trace Debug (fun () -> "_1") getLocals
System.IO.File.WriteAllText (path </> "test.txt", "0")
use _ = new System.IO.FileStream (
path </> "test.txt",
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
Directory.CreateDirectory path |> ignore
trace Debug (fun () -> "2") getLocals
let! child = lockDirectory () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 60
trace Debug (fun () -> "4") getLocals
let! retries = deleteDirectoryAsync path
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries
}
|> Async.runWithTimeout 3000
|> function
| Some retries ->
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 0)
(if Runtime.isWindows () then 150 else 0)
true
| _ -> false
|> _equal true
╭─[ 2.36s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:03 #18 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1789-8990-80542 │
│ 6275b6a / result: { CreationTime = 2023-10-08 11:10:17 PM │
│ Exists = true } │
│ 00:00:03 #19 [Debug] 1 │
│ 00:00:03 #20 [Debug] 2 │
│ 00:00:03 #21 [Debug] 3 │
│ 00:00:03 #22 [Debug] _1 │
│ 00:00:03 #23 [Debug] _2 │
│ 00:00:03 #24 [Debug] 4 │
│ 00:00:03 #25 [Debug] deleteDirectoryAsync / path: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1789-8990-80542 │
│ 6275b6a\test / ex: System.IO.IOException: The process cannot access the file │
│ 'test.txt' because it is being used by another process. │
│ 00:00:04 #26 [Debug] deleteDirectoryAsync / path: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-1789-8990-80542 │
│ 6275b6a\test / ex: System.IO.IOException: The process cannot access the file │
│ 'test.txt' because it is being used by another process. │
│ 00:00:05 #27 [Debug] _3 │
│ 00:00:05 #28 [Debug] 5 │
│ 00:00:05 #29 [Debug] 6 │
│ 125 │
│ 125 │
│ 125 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## deleteFileAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline deleteFileAsync path =
let rec loop retry = async {
try
System.IO.File.Delete path
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () = $"path: {path} / ex: {ex |> printException} /
{getLocals ()}"
trace Warning (fun () -> "deleteFileAsync") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test.txt"
let inline lockFile () = async {
trace Debug (fun () -> "_1") getLocals
use _ = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
do! "0" |> writeAllTextAsync path
trace Debug (fun () -> "2") getLocals
let! child = lockFile () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "4") getLocals
let! retries = deleteFileAsync path
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries
}
|> Async.runWithTimeout 3000
|> function
| Some retries ->
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 0)
(if Runtime.isWindows () then 150 else 0)
true
| _ -> false
|> _equal true
╭─[ 2.26s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:05 #30 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c0 │
│ d82e3f3 / result: { CreationTime = 2023-10-08 11:10:20 PM │
│ Exists = true } │
│ 00:00:05 #31 [Debug] 1 │
│ 00:00:05 #32 [Debug] 2 │
│ 00:00:05 #33 [Debug] 3 │
│ 00:00:05 #34 [Debug] _1 │
│ 00:00:05 #35 [Debug] _2 │
│ 00:00:05 #36 [Debug] 4 │
│ 00:00:05 #37 [Warning] deleteFileAsync / path: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c0 │
│ d82e3f3\test.txt / ex: System.IO.IOException: The process cannot access the │
│ file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c │
│ 0d82e3f3\test.txt' because it is being used by another process. │
│ 00:00:07 #38 [Warning] deleteFileAsync / path: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c0 │
│ d82e3f3\test.txt / ex: System.IO.IOException: The process cannot access the │
│ file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2024-2425-2a5c │
│ 0d82e3f3\test.txt' because it is being used by another process. │
│ 00:00:07 #39 [Debug] _3 │
│ 00:00:07 #40 [Debug] 5 │
│ 00:00:07 #41 [Debug] 6 │
│ 128 │
│ 128 │
│ 128 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## moveFileAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline moveFileAsync newPath oldPath =
let rec loop retry = async {
try
System.IO.File.Move (oldPath, newPath)
return retry
with ex ->
if retry % 100 = 0 then
let getLocals () =
$"oldPath: {oldPath} / newPath: {newPath} / ex: {ex |>
printException} / {getLocals ()}"
trace Warning (fun () -> "moveFileAsync") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = createTempDirectory ()
let path = tempFolder </> "test.txt"
let newPath = tempFolder </> "test2.txt"
let inline lockFile () = async {
trace Debug (fun () -> "_1") getLocals
use _ = new System.IO.FileStream (
path,
System.IO.FileMode.Open,
System.IO.FileAccess.ReadWrite,
System.IO.FileShare.None
)
trace Debug (fun () -> "_2") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_3") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
do! "0" |> writeAllTextAsync path
trace Debug (fun () -> "2") getLocals
let! child = lockFile () |> Async.StartChild
trace Debug (fun () -> "3") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "4") getLocals
let! retries1 = path |> moveFileAsync newPath
trace Debug (fun () -> "5") getLocals
let! retries2 = newPath |> waitForFileAccess None
trace Debug (fun () -> "6") getLocals
let! text = newPath |> readAllTextAsync
trace Debug (fun () -> "7") getLocals
do! child
trace Debug (fun () -> "8") getLocals
return retries1, retries2, text
}
|> Async.runWithTimeout 3000
|> function
| Some (retries1, retries2, text) ->
retries1
|> _isBetween
(if Runtime.isWindows () then 100 else 0)
(if Runtime.isWindows () then 150 else 0)
retries2
|> _isBetween
(if Runtime.isWindows () then 0 else 100)
(if Runtime.isWindows () then 0 else 200)
text |> _equal "0"
true
| _ -> false
|> _equal true
╭─[ 2.44s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:08 #42 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │
│ fec2b04 / result: { CreationTime = 2023-10-08 11:10:22 PM │
│ Exists = true } │
│ 00:00:08 #43 [Debug] 1 │
│ 00:00:08 #44 [Debug] 2 │
│ 00:00:08 #45 [Debug] 3 │
│ 00:00:08 #46 [Debug] _1 │
│ 00:00:08 #47 [Debug] _2 │
│ 00:00:08 #48 [Debug] 4 │
│ 00:00:08 #49 [Warning] moveFileAsync / oldPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │
│ fec2b04\test.txt / newPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │
│ fec2b04\test2.txt / ex: System.IO.IOException: The process cannot access the │
│ file because it is being used by another process. │
│ 00:00:09 #50 [Warning] moveFileAsync / oldPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │
│ fec2b04\test.txt / newPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-2272-7262-7f2c8 │
│ fec2b04\test2.txt / ex: System.IO.IOException: The process cannot access the │
│ file because it is being used by another process. │
│ 00:00:10 #51 [Debug] _3 │
│ 00:00:10 #52 [Debug] 5 │
│ 00:00:10 #53 [Debug] 6 │
│ 00:00:10 #54 [Debug] 7 │
│ 00:00:10 #55 [Debug] 8 │
│ 128 │
│ 128 │
│ 128 │
│ 0 │
│ 0 │
│ 0 │
│ 0 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## watchDirectory │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type FileSystemChangeType =
| Failure
| Changed
| Created
| Deleted
| Renamed
[[<RequireQualifiedAccess>]]
type FileSystemChange =
| Failure of exn: exn
| Changed of path: string * content: string option
| Created of path: string * content: string option
| Deleted of path: string
| Renamed of oldPath: string * (string * string option)
let inline watchDirectoryWithFilter filter shouldReadContent path =
let fullPath = path |> System.IO.Path.GetFullPath
let getLocals () = $"fullPath: {fullPath} / filter: {filter} / {getLocals
()}"
let watcher =
new System.IO.FileSystemWatcher (
Path = fullPath,
NotifyFilter = filter,
EnableRaisingEvents = true,
IncludeSubdirectories = true
)
let inline getEventPath (path : string) =
path |> String.trim |> String.replace fullPath "" |> String.trimStart
[[| '/'; '\\' |]]
let inline ticks () =
System.DateTime.UtcNow.Ticks
let changedStream =
AsyncSeq.subscribeEvent
watcher.Changed
(fun event ->
ticks (),
[[ FileSystemChange.Changed (getEventPath event.FullPath, None)
]]
)
let deletedStream =
AsyncSeq.subscribeEvent
watcher.Deleted
(fun event ->
ticks (),
[[ FileSystemChange.Deleted (getEventPath event.FullPath) ]]
)
let createdStream =
AsyncSeq.subscribeEvent
watcher.Created
(fun event ->
let path = getEventPath event.FullPath
ticks (), [[
FileSystemChange.Created (path, None)
if Runtime.isWindows () then
FileSystemChange.Changed (path, None)
]])
let renamedStream =
AsyncSeq.subscribeEvent
watcher.Renamed
(fun event ->
ticks (), [[
FileSystemChange.Renamed (
getEventPath event.OldFullPath,
(getEventPath event.FullPath, None)
)
]]
)
let failureStream =
AsyncSeq.subscribeEvent
watcher.Error
(fun event -> ticks (), [[ FileSystemChange.Failure
(event.GetException ()) ]])
let inline readContent fullPath =
let rec loop retry = async {
try
if retry > 0
then do!
fullPath
|> waitForFileAccess (Some (
System.IO.FileAccess.Read,
System.IO.FileShare.Read
))
|> Async.runWithTimeoutAsync 10000
|> Async.Ignore
return! fullPath |> readAllTextAsync |> Async.map Some
with ex ->
let getLocals () = $"retry: {retry} / ex: {ex |> printException}
/ {getLocals ()}"
trace Debug (fun () -> $"watchWithFilter / readContent")
getLocals
if retry = 0
then return! loop (retry + 1)
else return None
}
loop 0
let stream =
[[
changedStream
deletedStream
createdStream
renamedStream
failureStream
]]
|> FSharp.Control.AsyncSeq.mergeAll
|> FSharp.Control.AsyncSeq.map (fun (t, events) ->
events
|> List.fold
(fun (i, events) event ->
i + 1L,
(t + i, event) :: events)
(0L, [[]])
|> snd
|> List.rev
)
|> FSharp.Control.AsyncSeq.concatSeq
|> FSharp.Control.AsyncSeq.mapAsyncParallel (fun (t, event) -> async {
match shouldReadContent, event with
| true, FileSystemChange.Changed (path, _) ->
do! Async.Sleep 1
let! content = fullPath </> path |> readContent
return t, FileSystemChange.Changed (path, content)
| true, FileSystemChange.Created (path, _) ->
do! Async.Sleep 1
let! content = fullPath </> path |> readContent
return t, FileSystemChange.Created (path, content)
| true, FileSystemChange.Renamed (oldPath, (newPath, _)) ->
let! content = fullPath </> newPath |> readContent
return t, FileSystemChange.Renamed (oldPath, (newPath, content))
| _ -> return t, event
})
let disposable =
newDisposable (fun () ->
trace Debug (fun () -> "watchWithFilter / Disposing watch stream")
getLocals
watcher.EnableRaisingEvents <- false
watcher.Dispose ()
)
stream, disposable
let inline watchDirectory path =
watchDirectoryWithFilter
(System.IO.NotifyFilters.FileName
// ||| System.IO.NotifyFilters.DirectoryName
// ||| System.IO.NotifyFilters.Attributes
//// ||| System.IO.NotifyFilters.Size
||| System.IO.NotifyFilters.LastWrite
//// ||| System.IO.NotifyFilters.LastAccess
// ||| System.IO.NotifyFilters.CreationTime
// ||| System.IO.NotifyFilters.Security
)
path
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### testEventsRaw (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline testEventsRaw
(watchFn : bool -> string -> FSharp.Control.AsyncSeq<int64 *
FileSystemChange> * IDisposable)
write
=
let tempDirectory = createTempDirectory ()
let stream, disposable = watchFn true tempDirectory
let events = System.Collections.Concurrent.ConcurrentBag ()
let inline iter () =
stream
|> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async {
events.Add event })
let run = async {
let! _ = iter () |> Async.StartChild
do! Async.Sleep 250
return! write tempDirectory
}
try
run
|> Async.runWithTimeout 60000
|> _equal (Some ())
finally
disposable.Dispose ()
deleteDirectoryAsync tempDirectory |> Async.Ignore |>
Async.RunSynchronously
let eventsLog =
events
|> Seq.toList
|> List.sortBy fst
|> List.fold
(fun (prev, acc) (ticks, event) ->
ticks, (ticks, (if prev = 0L then 0L else ticks - prev), event)
:: acc
)
(0L, [[]])
|> snd
|> List.rev
|> List.map (fun (diff, n, event) ->
let text = $"{n} / {diff} / {event}"
if text |> String.length <= 100
then text
else text |> String.substring 0 100 |> String.replace "\n" ""
)
|> String.concat "\n"
let getLocals () = $"eventsLog: \n{eventsLog} / {getLocals ()}"
trace Debug (fun () -> "testEventsRaw") getLocals
events
|> Seq.toList
|> List.sortBy fst
|> List.map snd
|> List.fold
(fun acc event ->
match acc, event with
| FileSystemChange.Changed (lastPath, Some lastContent) as lastEvent
:: acc,
FileSystemChange.Changed (path, Some content)
when lastPath = path && content |> String.startsWith lastContent
->
event :: acc
| _ -> event :: acc
)
[[]]
|> List.rev
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### fast (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"a{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
do! Async.Sleep 250
for i = 1 to n do
do! $"b{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
do! Async.Sleep 250
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
do! Async.Sleep 250
for i = 1 to n do
do! $"c{i}" |> writeAllTextAsync (path </> $"file_{i}.txt")
do! Async.Sleep 250
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 250
}
let inline run () =
let events = testEventsRaw watchDirectory write
events
|> _sequenceEqual [[
FileSystemChange.Created ("file1.txt", Some "a1")
FileSystemChange.Changed ("file1.txt", Some "a1")
FileSystemChange.Created ("file2.txt", Some "a2")
FileSystemChange.Changed ("file2.txt", Some "a2")
FileSystemChange.Changed ("file1.txt", Some "b1")
FileSystemChange.Changed ("file2.txt", Some "b2")
FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "b1"))
FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "b2"))
FileSystemChange.Changed ("file_1.txt", Some "c1")
FileSystemChange.Changed ("file_2.txt", Some "c2")
FileSystemChange.Deleted "file_1.txt"
FileSystemChange.Deleted "file_2.txt"
]]
run
|> retryFn 3
|> _equal (Some ())
╭─[ 5.68s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:16 #56 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3106-0670-0721c │
│ a40b17a / result: { CreationTime = 2023-10-08 11:10:31 PM │
│ Exists = true } │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:18 #57 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3106-0670-0721c │
│ a40b17a / filter: FileName, LastWrite │
│ 00:00:18 #58 [Debug] testEventsRaw / eventsLog: │
│ 0 / 638324178313570174 / Created ("file1.txt", Some "a1") │
│ 1 / 638324178313570175 / Changed ("file1.txt", Some "a1") │
│ 38275 / 638324178313608450 / Changed ("file1.txt", Some "a1") │
│ 1317 / 638324178313609767 / Created ("file2.txt", Some "a2") │
│ 1 / 638324178313609768 / Changed ("file2.txt", Some "a2") │
│ 81 / 638324178313609849 / Changed ("file2.txt", Some "a2") │
│ 2557128 / 638324178316166977 / Changed ("file1.txt", Some "b1") │
│ 9123 / 638324178316176100 / Changed ("file1.txt", Some "b1") │
│ 12548 / 638324178316188648 / Changed ("file2.txt", Some "b2") │
│ 2151 / 638324178316190799 / Changed ("file2.txt", Some "b2") │
│ 2661292 / 638324178318852091 / Renamed ("file1.txt", ("file_1.txt", Some │
│ "b1")) │
│ 5812 / 638324178318857903 / Renamed ("file2.txt", ("file_2.txt", Some "b2")) │
│ 2612480 / 638324178321470383 / Changed ("file_1.txt", Some "c1") │
│ 1815 / 638324178321472198 / Changed ("file_1.txt", Some "c1") │
│ 10084 / 638324178321482282 / Changed ("file_2.txt", Some "c2") │
│ 1929 / 638324178321484211 / Changed ("file_2.txt", Some "c2") │
│ 2642892 / 638324178324127103 / Deleted "file_1.txt" │
│ 3242 / 638324178324130345 / Deleted "file_2.txt" │
│ FSharpList<FileSystemChange> │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: a1 │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: a1 │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: a2 │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: a2 │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: b1 │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: b2 │
│ - oldPath: file1.txt │
│ Item2: - file_1.txt │
│ - FSharpOption<String> │
│ Value: b1 │
│ - oldPath: file2.txt │
│ Item2: - file_2.txt │
│ - FSharpOption<String> │
│ Value: b2 │
│ - path: file_1.txt │
│ content: FSharpOption<String> │
│ Value: c1 │
│ - path: file_2.txt │
│ content: FSharpOption<String> │
│ Value: c2 │
│ - path: file_1.txt │
│ - path: file_2.txt │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### slow (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
let contents =
[[ 1 .. n ]]
|> List.map (string >> String.replicate 1_000_000)
for i = 1 to n do
do! $"{contents.[[i - 1]]}a" |> writeAllTextAsync (path </>
$"file{i}.txt")
do! Async.Sleep 1500
for i = 1 to n do
do! $"{contents.[[i - 1]]}b" |> writeAllTextAsync (path </>
$"file{i}.txt")
do! Async.Sleep 1500
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
do! Async.Sleep 1500
for i = 1 to n do
do! $"{contents.[[i - 1]]}c" |> writeAllTextAsync (path </>
$"file_{i}.txt")
do! Async.Sleep 1500
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 1500
}
let inline run () =
let events =
testEventsRaw watchDirectory write
|> List.map (function
| FileSystemChange.Changed (path, Some content) ->
FileSystemChange.Changed (path, content |> Seq.distinct |>
Seq.map string |> String.concat "" |> Some)
| FileSystemChange.Created (path, Some content) ->
FileSystemChange.Created (path, content |> Seq.distinct |>
Seq.map string |> String.concat "" |> Some)
| FileSystemChange.Renamed (oldPath, (newPath, Some content)) ->
FileSystemChange.Renamed (
oldPath,
(newPath, content |> Seq.distinct |> Seq.map string |>
String.concat "" |> Some)
)
| event -> event
)
events
|> _sequenceEqual [[
FileSystemChange.Created ("file1.txt", Some "1a")
FileSystemChange.Changed ("file1.txt", Some "1a")
FileSystemChange.Created ("file2.txt", Some "2a")
FileSystemChange.Changed ("file2.txt", Some "2a")
FileSystemChange.Changed ("file1.txt", Some "1b")
FileSystemChange.Changed ("file2.txt", Some "2b")
FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "1b"))
FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "2b"))
FileSystemChange.Changed ("file_1.txt", Some "1c")
FileSystemChange.Changed ("file_2.txt", Some "2c")
FileSystemChange.Deleted "file_1.txt"
FileSystemChange.Deleted "file_2.txt"
]]
run
|> retryFn 5
|> _equal (Some ())
╭─[ 13.32s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:23 #59 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │
│ 069dc66 / result: { CreationTime = 2023-10-08 11:10:37 PM │
│ Exists = true } │
│ 00:00:23 #61 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f2 │
│ 2069dc66\file2.txt' because it is being used by another process.) / │
│ fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │
│ 069dc66 / filter: FileName, LastWrite │
│ 00:00:23 #61 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f2 │
│ 2069dc66\file2.txt' because it is being used by another process.) / │
│ fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │
│ 069dc66 / filter: FileName, LastWrite │
│ 00:00:28 #62 [Debug] watchWithFilter / readContent / retry: 0 / ex: │
│ System.AggregateException: One or more errors occurred. (The process cannot │
│ access the file │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f2 │
│ 2069dc66\file_1.txt' because it is being used by another process.) / │
│ fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │
│ 069dc66 / filter: FileName, LastWrite │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:31 #63 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-3781-8165-83f22 │
│ 069dc66 / filter: FileName, LastWrite │
│ 00:00:31 #64 [Debug] testEventsRaw / eventsLog: │
│ 0 / 638324178381071239 / Created ("file1.txt", Some │
│ "1111111111111111111111111111111111111 │
│ 1 / 638324178381071240 / Changed ("file1.txt", Some │
│ "1111111111111111111111111111111111111 │
│ 109612 / 638324178381180852 / Changed ("file1.txt", Some │
│ "11111111111111111111111111111111 │
│ 21063 / 638324178381201915 / Created ("file2.txt", Some │
│ "222222222222222222222222222222222 │
│ 1 / 638324178381201916 / Changed ("file2.txt", Some │
│ "2222222222222222222222222222222222222 │
│ 143308 / 638324178381345224 / Changed ("file2.txt", Some │
│ "22222222222222222222222222222222 │
│ 15063935 / 638324178396409159 / Changed ("file1.txt", Some │
│ "111111111111111111111111111111 │
│ 77324 / 638324178396486483 / Changed ("file1.txt", Some │
│ "111111111111111111111111111111111 │
│ 41031 / 638324178396527514 / Changed ("file2.txt", Some │
│ "222222222222222222222222222222222 │
│ 82620 / 638324178396610134 / Changed ("file2.txt", Some │
│ "222222222222222222222222222222222 │
│ 15165443 / 638324178411775577 / Renamed ("file1.txt", ("file_1.txt", │
│ Some "1111111111 │
│ 7374 / 638324178411782951 / Renamed ("file2.txt", ("file_2.txt", Some │
│ "22222222222222 │
│ 15212893 / 638324178426995844 / Changed ("file_1.txt", Some │
│ "11111111111111111111111111111 │
│ 77749 / 638324178427073593 / Changed ("file_1.txt", Some │
│ "11111111111111111111111111111111 │
│ 81008 / 638324178427154601 / Changed ("file_2.txt", Some │
│ "22222222222222222222222222222222 │
│ 61756 / 638324178427216357 / Changed ("file_2.txt", Some │
│ "22222222222222222222222222222222 │
│ 15130614 / 638324178442346971 / Deleted "file_1.txt" │
│ 8429 / 638324178442355400 / Deleted "file_2.txt" │
│ FSharpList<FileSystemChange> │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: 1a │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: 1a │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: 2a │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: 2a │
│ - path: file1.txt │
│ content: FSharpOption<String> │
│ Value: 1b │
│ - path: file2.txt │
│ content: FSharpOption<String> │
│ Value: 2b │
│ - oldPath: file1.txt │
│ Item2: - file_1.txt │
│ - FSharpOption<String> │
│ Value: 1b │
│ - oldPath: file2.txt │
│ Item2: - file_2.txt │
│ - FSharpOption<String> │
│ Value: 2b │
│ - path: file_1.txt │
│ content: FSharpOption<String> │
│ Value: 1c │
│ - path: file_2.txt │
│ content: FSharpOption<String> │
│ Value: 2c │
│ - path: file_1.txt │
│ - path: file_2.txt │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ### testEventsSorted (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline sortEvent event =
match event with
| FileSystemChange.Failure _ -> 0
| FileSystemChange.Created _ -> 1
| FileSystemChange.Changed _ -> 2
| FileSystemChange.Renamed (_oldPath, _) -> 3
| FileSystemChange.Deleted _ -> 4
let inline formatEvents events =
events
|> Seq.toList
|> List.sortBy (snd >> sortEvent)
|> List.choose (fun (ticks, event) ->
match event with
| FileSystemChange.Failure _ ->
None
| FileSystemChange.Changed (path, _) ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Changed)
| FileSystemChange.Created (path, _) ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Created)
| FileSystemChange.Deleted path ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Deleted)
| FileSystemChange.Renamed (_oldPath, (path, _)) ->
Some (ticks, System.IO.Path.GetFileName path, nameof
FileSystemChangeType.Renamed)
)
|> List.sortBy (fun (_, path, _) -> path)
|> List.distinctBy (fun (_, path, event) -> path, event)
let inline testEventsSorted
(watchFn : string -> FSharp.Control.AsyncSeq<int64 * FileSystemChange> *
IDisposable)
write
=
let path = createTempDirectory ()
let stream, disposable = watchFn path
let events = System.Collections.Concurrent.ConcurrentBag ()
let inline iter () =
stream
|> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async {
events.Add event })
let run = async {
let! _ = iter () |> Async.StartChild
do! Async.Sleep 250
return! write path
}
try
run
|> Async.runWithTimeout 5000
|> _equal (Some ())
finally
disposable.Dispose ()
deleteDirectoryAsync path |> Async.Ignore |> Async.RunSynchronously
let events = formatEvents events
let eventMap =
events
|> List.map (fun (ticks, path, event) -> path, (event, ticks))
|> List.groupBy fst
|> List.map (fun (path, events) ->
let event, _ticks =
events
|> List.map snd
|> List.sortByDescending snd
|> List.head
path, event
)
|> Map.ofList
let eventList =
events
|> List.map (fun (_ticks, path, event) -> path, event)
eventMap, eventList
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### create and delete (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 3
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! deleteFileAsync (path </> $"file{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory false) write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Deleted
"file3.txt", nameof FileSystemChangeType.Created
"file3.txt", nameof FileSystemChangeType.Changed
"file3.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Deleted
"file3.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 2.46s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:33 #65 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-4863-6346-6f795 │
│ dd4a7e0 / result: { CreationTime = 2023-10-08 11:10:48 PM │
│ Exists = true } │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:34 #66 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-4863-6346-6f795 │
│ dd4a7e0 / filter: FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file1.txt, Deleted ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file2.txt, Deleted ) │
│ ( file3.txt, Created ) │
│ ( file3.txt, Changed ) │
│ ( file3.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Deleted │
│ - Key: file2.txt │
│ Value: Deleted │
│ - Key: file3.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### change (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! "" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! deleteFileAsync (path </> $"file{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory false) write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Deleted
"file2.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 2.91s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:36 #67 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5158-5881-5fe75 │
│ 9f83a73 / result: { CreationTime = 2023-10-08 11:10:51 PM │
│ Exists = true } │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:37 #68 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5158-5881-5fe75 │
│ 9f83a73 / filter: FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file1.txt, Deleted ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file2.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Deleted │
│ - Key: file2.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### rename (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory false) write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Renamed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Renamed
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 3.74s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:40 #69 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5532-3229-360d6 │
│ 4168ab1 / result: { CreationTime = 2023-10-08 11:10:55 PM │
│ Exists = true } │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:41 #70 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5532-3229-360d6 │
│ 4168ab1 / filter: FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file_1.txt, Renamed ) │
│ ( file_1.txt, Deleted ) │
│ ( file_2.txt, Renamed ) │
│ ( file_2.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Changed │
│ - Key: file2.txt │
│ Value: Changed │
│ - Key: file_1.txt │
│ Value: Deleted │
│ - Key: file_2.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ #### full (test) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let inline write path = async {
let n = 2
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! "" |> writeAllTextAsync (path </> $"file{i}.txt")
for i = 1 to n do
do! path </> $"file{i}.txt" |> moveFileAsync (path </> $"file_{i}.txt")
|> Async.Ignore
for i = 1 to n do
do! $"{i}" |> writeAllTextAsync (path </> $"file_{i}.txt")
for i = 1 to n do
do! deleteFileAsync (path </> $"file_{i}.txt") |> Async.Ignore
do! Async.Sleep 150
}
let inline run () =
let eventMap, eventList = testEventsSorted (watchDirectory false) write
[[
"file1.txt", nameof FileSystemChangeType.Created
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Created
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Renamed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Changed
"file_2.txt", nameof FileSystemChangeType.Renamed
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> _sequenceEqual eventList
[[
"file1.txt", nameof FileSystemChangeType.Changed
"file2.txt", nameof FileSystemChangeType.Changed
"file_1.txt", nameof FileSystemChangeType.Deleted
"file_2.txt", nameof FileSystemChangeType.Deleted
]]
|> Map.ofList
|> _sequenceEqual eventMap
run
|> retryFn 3
|> _equal (Some ())
╭─[ 3.89s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:44 #71 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5924-2443-2e6ca │
│ 31dce73 / result: { CreationTime = 2023-10-08 11:10:59 PM │
│ Exists = true } │
│ FSharpOption<Unit> │
│ Value: <null> │
│ 00:00:45 #72 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2310-5924-2443-2e6ca │
│ 31dce73 / filter: FileName, LastWrite │
│ FSharpList<Tuple<String,String>> │
│ ( file1.txt, Created ) │
│ ( file1.txt, Changed ) │
│ ( file2.txt, Created ) │
│ ( file2.txt, Changed ) │
│ ( file_1.txt, Changed ) │
│ ( file_1.txt, Renamed ) │
│ ( file_1.txt, Deleted ) │
│ ( file_2.txt, Changed ) │
│ ( file_2.txt, Renamed ) │
│ ( file_2.txt, Deleted ) │
│ FSharpMap<String,String> │
│ - Key: file1.txt │
│ Value: Changed │
│ - Key: file2.txt │
│ Value: Changed │
│ - Key: file_1.txt │
│ Value: Deleted │
│ - Key: file_2.txt │
│ Value: Deleted │
│ FSharpOption<Unit> │
│ Value: <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook FileSystem.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 467229 bytes to FileSystem.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Networking (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/Runtime.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## testPortOpen │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |> printException}")
getLocals
return false
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
testPortOpen 65536
|> Async.runWithTimeout 120
|> _equal (Some false)
╭─[ 200.38ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Verbose] testPortOpen / ex: System.ArgumentOutOfRangeException: │
│ Specified argument was out of the range of valid values. (Parameter 'port') │
│ FSharpOption<Boolean> │
│ Value: False │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
| Some result -> result
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
testPortOpenTimeout 120 65535
|> Async.RunSynchronously
|> _equal false
╭─[ 258.15ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 120 │
│ False │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## waitForPortAccess │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline waitForPortAccess timeout status port =
let rec loop retry = async {
let! isPortOpen =
match timeout with
| None -> testPortOpen port
| Some timeout -> testPortOpenTimeout timeout port
if isPortOpen = status
then return retry
else
if retry % 100 = 0 then
let getLocals () = $"port: {port} / retry: {retry} / {getLocals
()}"
trace Verbose (fun () -> "waitForPortAccess") getLocals
do! Async.Sleep 10
return! loop (retry + 1)
}
loop 0
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5000
let inline lockPort () = async {
trace Debug (fun () -> "_1") getLocals
do! Async.Sleep 5000
use listener = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
trace Debug (fun () -> "_2") getLocals
listener.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 2000
trace Debug (fun () -> "_4") getLocals
listener.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPort () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "3") getLocals
let! retries1 = waitForPortAccess None true port
trace Debug (fun () -> "4") getLocals
let! retries2 = waitForPortAccess None false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries1, retries2
}
|> Async.runWithTimeout 20000
|> function
| Some (retries1, retries2) ->
retries1
|> _isBetween
(if Runtime.isWindows () then 2 else 2)
(if Runtime.isWindows () then 5 else 1500)
retries2
|> _isBetween
(if Runtime.isWindows () then 80 else 80)
(if Runtime.isWindows () then 150 else 600)
true
| _ -> false
|> _equal true
╭─[ 9.69s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:01 #3 [Debug] 1 │
│ 00:00:01 #4 [Debug] _1 │
│ 00:00:01 #5 [Debug] 2 │
│ 00:00:01 #6 [Debug] 3 │
│ 00:00:03 #7 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:03 #8 [Verbose] waitForPortAccess / port: 5000 / retry: 0 │
│ 00:00:05 #9 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:06 #10 [Debug] _2 │
│ 00:00:06 #11 [Debug] _3 │
│ 00:00:06 #12 [Debug] 4 │
│ 00:00:06 #13 [Verbose] waitForPortAccess / port: 5000 / retry: 0 │
│ 00:00:07 #14 [Verbose] waitForPortAccess / port: 5000 / retry: 100 │
│ 00:00:08 #15 [Debug] _4 │
│ 00:00:08 #16 [Debug] _5 │
│ 00:00:10 #17 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:10 #18 [Debug] 5 │
│ 00:00:10 #19 [Debug] 6 │
│ 2 │
│ 2 │
│ 2 │
│ 120 │
│ 120 │
│ 120 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5000
let inline lockPort () = async {
trace Debug (fun () -> "_1") getLocals
do! Async.Sleep 500
use listener = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
trace Debug (fun () -> "_2") getLocals
listener.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 200
trace Debug (fun () -> "_4") getLocals
listener.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPort () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 1
trace Debug (fun () -> "3") getLocals
let! retries1 = waitForPortAccess (Some 60) true port
trace Debug (fun () -> "4") getLocals
let! retries2 = waitForPortAccess (Some 60) false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return retries1, retries2
}
|> Async.runWithTimeout 2000
|> function
| Some (retries1, retries2) ->
retries1
|> _isBetween
(if Runtime.isWindows () then 4 else 2)
(if Runtime.isWindows () then 15 else 150)
retries2
|> _isBetween
(if Runtime.isWindows () then 5 else 0)
(if Runtime.isWindows () then 20 else 60)
true
| _ -> false
|> _equal true
╭─[ 1.53s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:11 #20 [Debug] 1 │
│ 00:00:11 #21 [Debug] 2 │
│ 00:00:11 #22 [Debug] _1 │
│ 00:00:11 #23 [Debug] 3 │
│ 00:00:11 #24 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #25 [Verbose] waitForPortAccess / port: 5000 / retry: 0 │
│ 00:00:11 #26 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #27 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #28 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #29 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #30 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #31 [Debug] _2 │
│ 00:00:11 #32 [Debug] _3 │
│ 00:00:11 #33 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #34 [Debug] 4 │
│ 00:00:11 #35 [Verbose] waitForPortAccess / port: 5000 / retry: 0 │
│ 00:00:11 #36 [Debug] _4 │
│ 00:00:11 #37 [Debug] _5 │
│ 00:00:11 #38 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:11 #39 [Debug] 5 │
│ 00:00:11 #40 [Debug] 6 │
│ 7 │
│ 7 │
│ 7 │
│ 9 │
│ 9 │
│ 9 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getAvailablePort │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getAvailablePort timeout initialPort =
let rec loop port = async {
let! isPortOpen =
match timeout with
| None -> testPortOpen port
| Some timeout -> testPortOpenTimeout timeout port
if not isPortOpen
then return port
else return! loop (port + 1)
}
loop initialPort
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5000
let inline lockPorts () = async {
trace Debug (fun () -> "_1") getLocals
use listener1 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
use listener2 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port + 1)
trace Debug (fun () -> "_2") getLocals
listener1.Start ()
listener2.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 4000
trace Debug (fun () -> "_4") getLocals
listener1.Stop ()
listener2.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPorts () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 180
trace Debug (fun () -> "3") getLocals
let! availablePort = getAvailablePort None port
trace Debug (fun () -> "4") getLocals
let! retries = waitForPortAccess None false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return availablePort, retries
}
|> Async.runWithTimeout 15000
|> function
| Some (availablePort, retries) ->
availablePort |> _equal (port + 2)
retries
|> _isBetween
(if Runtime.isWindows () then 100 else 100)
(if Runtime.isWindows () then 150 else 1200)
true
| _ -> false
|> _equal true
╭─[ 6.50s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:12 #41 [Debug] 1 │
│ 00:00:12 #42 [Debug] 2 │
│ 00:00:12 #43 [Debug] _1 │
│ 00:00:12 #44 [Debug] _2 │
│ 00:00:12 #45 [Debug] _3 │
│ 00:00:12 #46 [Debug] 3 │
│ 00:00:14 #47 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:14 #48 [Debug] 4 │
│ 00:00:14 #49 [Verbose] waitForPortAccess / port: 5000 / retry: 0 │
│ 00:00:16 #50 [Verbose] waitForPortAccess / port: 5000 / retry: 100 │
│ 00:00:16 #51 [Debug] _4 │
│ 00:00:16 #52 [Debug] _5 │
│ 00:00:18 #53 [Verbose] testPortOpen / ex: System.AggregateException: One or │
│ more errors occurred. (No connection could be made because the target │
│ machine actively refused it.) │
│ 00:00:18 #54 [Debug] 5 │
│ 00:00:18 #55 [Debug] 6 │
│ 5002 │
│ 114 │
│ 114 │
│ 114 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let port = 5000
let inline lockPorts () = async {
trace Debug (fun () -> "_1") getLocals
use listener1 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port)
use listener2 = new System.Net.Sockets.TcpListener
(System.Net.IPAddress.Parse "127.0.0.1", port + 1)
trace Debug (fun () -> "_2") getLocals
listener1.Start ()
listener2.Start ()
trace Debug (fun () -> "_3") getLocals
do! Async.Sleep 400
trace Debug (fun () -> "_4") getLocals
listener1.Stop ()
listener2.Stop ()
trace Debug (fun () -> "_5") getLocals
}
async {
trace Debug (fun () -> "1") getLocals
let! child = lockPorts () |> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 120
trace Debug (fun () -> "3") getLocals
let! availablePort = getAvailablePort (Some 60) port
trace Debug (fun () -> "4") getLocals
let! retries = waitForPortAccess (Some 60) false port
trace Debug (fun () -> "5") getLocals
do! child
trace Debug (fun () -> "6") getLocals
return availablePort, retries
}
|> Async.runWithTimeout 1500
|> function
| Some (availablePort, retries) ->
availablePort |> _equal (port + 2)
retries
|> _isBetween
(if Runtime.isWindows () then 10 else 1)
(if Runtime.isWindows () then 30 else 120)
true
| _ -> false
|> _equal true
╭─[ 1.09s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:19 #56 [Debug] 1 │
│ 00:00:19 #57 [Debug] 2 │
│ 00:00:19 #58 [Debug] _1 │
│ 00:00:19 #59 [Debug] _2 │
│ 00:00:19 #60 [Debug] _3 │
│ 00:00:19 #61 [Debug] 3 │
│ 00:00:19 #62 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:19 #63 [Debug] 4 │
│ 00:00:19 #64 [Verbose] waitForPortAccess / port: 5000 / retry: 0 │
│ 00:00:19 #65 [Debug] _4 │
│ 00:00:19 #66 [Debug] _5 │
│ 00:00:19 #67 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:19 #68 [Debug] 5 │
│ 00:00:19 #69 [Debug] 6 │
│ 5002 │
│ 12 │
│ 12 │
│ 12 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Networking.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 324050 bytes to Networking.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Runtime (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Runtime.fs
#!import ../nbs/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder:...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
open FileSystem.Operators
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## isWindows │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
isWindows ()
╭─[ 137.58ms - return value ]──────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>True</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getExecutableSuffix │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
getExecutableSuffix ()
╭─[ 18.26ms - return value ]───────────────────────────────────────────────────╮
│ .exe │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## splitCommand │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (path, args) tail (Path
true)
| ('"' | '\'') :: tail, Path true -> loop (path, args) tail (Path false)
| ' ' :: tail, Path true -> loop ($"{path} ", args) tail (Path true)
| ' ' :: tail, (Start | Path _) -> loop (path, args) tail Arguments
| char :: tail, Arguments -> loop (path, $"{args}{char}") tail Arguments
| char :: tail, _ -> loop ($"{path}{char}", args) tail step
| _, _ -> path |> String.replace @"\" "/", args
loop ("", "") (command |> Seq.toList) Start
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
splitCommand ""
|> _equal ("", "")
splitCommand "/a/b/c"
|> _equal ("/a/b/c", "")
splitCommand "cat file.txt"
|> _equal ("cat", "file.txt")
splitCommand """..\..\file.exe file1.txt file2.txt"""
|> _equal ("../../file.exe", "file1.txt file2.txt")
splitCommand @"c:\dir\file.exe ""file1.txt file2.txt"""
|> _equal ("c:/dir/file.exe", @"""file1.txt file2.txt""")
splitCommand @"""..\..\dir name\file.exe"" ""file 1.txt"" file2.txt"
|> _equal ("../../dir name/file.exe", @"""file 1.txt"" file2.txt")
splitCommand @"""..\..\file 1.exe"" -c \\""echo 1\\"""
|> _equal ("../../file 1.exe", @"-c \\""echo 1\\""")
splitCommand @"..\..\file 1.exe -c \\""echo 1\\"""
|> _equal ("../../file", @"1.exe -c \\""echo 1\\""")
╭─[ 129.46ms - stdout ]────────────────────────────────────────────────────────╮
│ ( , ) │
│ ( /a/b/c, ) │
│ ( cat, file.txt ) │
│ ( ../../file.exe, file1.txt file2.txt ) │
│ ( c:/dir/file.exe, "file1.txt file2.txt" ) │
│ ( ../../dir name/file.exe, "file 1.txt" file2.txt ) │
│ ( ../../file 1.exe, -c \\"echo 1\\" ) │
│ ( ../../file, 1.exe -c \\"echo 1\\" ) │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## executeAsync │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type ExecutionLine =
{
ProcessId : int
Line : string
Error : bool
}
type ExecutionOptions =
{
Command : string
WorkingDirectory : string option
CancellationToken : System.Threading.CancellationToken option
OnLine : (ExecutionLine -> Async<unit>) option
}
let inline executeWithOptionsAsync (options : ExecutionOptions) = async {
let fileName, arguments = options.Command |> splitCommand
let workingDirectory = options.WorkingDirectory |> Option.defaultValue ""
trace Debug (fun () -> $"executeAsync / options: {options}") getLocals
let startInfo = System.Diagnostics.ProcessStartInfo (
Arguments = arguments,
CreateNoWindow = true,
FileName = fileName,
RedirectStandardError = true,
RedirectStandardOutput = true,
StandardOutputEncoding = System.Text.Encoding.UTF8,
UseShellExecute = false,
WorkingDirectory = workingDirectory
)
use proc = new System.Diagnostics.Process (StartInfo = startInfo)
let output = System.Collections.Concurrent.ConcurrentStack<string> ()
let inline event error (e: System.Diagnostics.DataReceivedEventArgs) = async
{
if e.Data <> null then
match options.OnLine with
| Some onLine ->
do!
onLine
{
ProcessId = proc.Id
Line = e.Data
Error = error
}
| None -> ()
trace
Debug
(fun () -> $"> {e.Data}")
Common.getLocals
output.Push
$"{
if error then '[['.ToString() else System.String.Empty
}{
e.Data
}{
if error then ']]'.ToString() else System.String.Empty
}"
}
proc.OutputDataReceived.Add (event false >> Async.StartImmediate)
proc.ErrorDataReceived.Add (event true >> Async.StartImmediate)
if proc.Start () |> not
then failwith $"executeAsync / proc.Start () error"
proc.BeginErrorReadLine ()
proc.BeginOutputReadLine ()
let! ct =
options.CancellationToken
|> Option.defaultValue System.Threading.CancellationToken.None
|> Async.mergeCancellationTokenWithDefaultAsync
use reg = ct.Register (fun _ ->
if not proc.HasExited then proc.Kill ()
)
let! exitCode = async {
try
do! proc.WaitForExitAsync ct |> Async.AwaitTask
return proc.ExitCode
with :? System.Threading.Tasks.TaskCanceledException as ex ->
trace Warning (fun () -> $"executeAsync / WaitForExitAsync / ex: {ex
|> printException}") getLocals
ex |> printException |> output.Push
return System.Int32.MinValue
}
let output = output |> Seq.rev |> String.concat "\n"
trace Debug (fun () ->
$"executeAsync / exitCode: {exitCode} / proc.Id: {proc.Id} /
output.Length: {output.Length}"
) getLocals
return exitCode, output
}
let inline executeAsync command =
executeWithOptionsAsync
{
Command = command
CancellationToken = None
OnLine = None
WorkingDirectory = None
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.createTempDirectory ()
let fileName = "test.txt"
let path = tempFolder </> fileName
async {
let! exitCode, result = executeAsync @$"pwsh -c ""Get-Content {path}"""
exitCode |> _equal 1
result |> _stringContains "not exist"
do! "0" |> FileSystem.writeAllTextAsync path
return!
executeWithOptionsAsync
{
Command = @$"pwsh -c ""Get-Content {fileName}"""
CancellationToken = None
OnLine = None
WorkingDirectory = Some tempFolder
}
}
|> Async.runWithTimeout 10000
|> function
| Some (exitCode, output) ->
exitCode |> _equal 0
output |> _equal "0"
true
| _ -> false
|> _equal true
╭─[ 2.18s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112d │
│ 1c2cb12 / result: { CreationTime = 2023-10-08 11:11:51 PM │
│ Exists = true } │
│ 00:00:00 #2 [Debug] executeAsync / options: { Command = │
│ "pwsh -c "Get-Content │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112d │
│ 1c2cb12\test.txt"" │
│ WorkingDirectory = None │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:00 #3 [Debug] > Get-Content: Cannot find path │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112 │
│ d1c2cb12\test.txt' because it does not exist. │
│ 00:00:00 #4 [Debug] executeAsync / exitCode: 1 / proc.Id: 70824 / │
│ output.Length: 171 │
│ 1 │
│ [Get-Content: Cannot find path │
│ 'C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112 │
│ d1c2cb12\test.txt' because it does not exist.] │
│ 00:00:00 #5 [Debug] executeAsync / options: { Command = "pwsh -c │
│ "Get-Content test.txt"" │
│ WorkingDirectory = │
│ Some │
│ │
│ "C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5132-3280-3112 │
│ d1c2cb12" │
│ CancellationToken = None │
│ OnLine = None } │
│ 00:00:01 #6 [Debug] > 0 │
│ 00:00:01 #7 [Debug] executeAsync / exitCode: 0 / proc.Id: 46348 / │
│ output.Length: 1 │
│ 0 │
│ 0 │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.createTempDirectory ()
let path = tempFolder </> "test.txt"
let command = @$"pwsh -c ""Get-Content {path}"""
async {
do! "0" |> FileSystem.writeAllTextAsync path
let cts = new System.Threading.CancellationTokenSource ()
trace Debug (fun () -> "1") getLocals
let! result =
executeWithOptionsAsync
{
Command = command
CancellationToken = Some cts.Token
OnLine = None
WorkingDirectory = None
}
|> Async.StartChild
trace Debug (fun () -> "2") getLocals
do! Async.Sleep 100
trace Debug (fun () -> "3") getLocals
cts.Cancel ()
trace Debug (fun () -> "4") getLocals
let! exitCode, output = result
trace Debug (fun () -> "5") getLocals
return exitCode, output
}
|> Async.runWithTimeout 10000
|> function
| Some (exitCode, output) ->
exitCode |> _equal -2147483648
output |> _equal "System.Threading.Tasks.TaskCanceledException: A task
was canceled."
true
| _ -> false
|> _equal true
╭─[ 638.27ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:02 #8 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5340-4007-4109f │
│ 514f225 / result: { CreationTime = 2023-10-08 11:11:53 PM │
│ Exists = true } │
│ 00:00:02 #9 [Debug] 1 │
│ 00:00:02 #11 [Debug] 2 │
│ 00:00:02 #10 [Debug] executeAsync / options: { Command = │
│ "pwsh -c "Get-Content │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2311-5340-4007-4109f │
│ 514f225\test.txt"" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = None } │
│ 00:00:02 #12 [Debug] 3 │
│ 00:00:02 #13 [Debug] 4 │
│ 00:00:02 #14 [Warning] executeAsync / WaitForExitAsync / ex: │
│ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
│ 00:00:02 #15 [Debug] executeAsync / exitCode: -2147483648 / proc.Id: 13424 / │
│ output.Length: 66 │
│ 00:00:02 #16 [Debug] 5 │
│ -2147483648 │
│ System.Threading.Tasks.TaskCanceledException: A task was canceled. │
│ True │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## splitArgs │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline splitArgs commandLine =
commandLine
|> System.CommandLine.Parsing.CommandLineStringSplitter.Instance.Split
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""a b "c d" e"""
|> splitArgs
|> Seq.toArray
|> _equal [[| "a"; "b"; "c d"; "e" |]]
╭─[ 28.07ms - stdout ]─────────────────────────────────────────────────────────╮
│ [ a, b, c d, e ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## parseArgs │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args =
let assemblyName =
System.Reflection.Assembly.GetEntryAssembly().GetName().Name
let errorHandler : Argu.IExiter =
if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |>
List.contains assemblyName
then Argu.ExceptionExiter ()
else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | _ ->
Some System.ConsoleColor.Red)
let parser =
Argu.ArgumentParser.Create<'T> (
programName = $"{assemblyName}{getExecutableSuffix ()}",
errorHandler = errorHandler
)
parser.ParseCommandLine args
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce;
Argu.ArguAttributes.Last>]]
Paths of paths : string list
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Paths _ -> nameof Paths
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
fun () -> parseArgs<Arguments> [[||]] |> ignore
|> _throwsC (fun ex _ ->
printException ex
|> _stringContains "Argu.ArguParseException: ERROR: missing parameter
'<paths>...'."
)
╭─[ 155.08ms - stdout ]────────────────────────────────────────────────────────╮
│ FSI_0029+it@3-246 │
│ Argu.ArguParseException: ERROR: missing parameter '<paths>...'. │
│ USAGE: dotnet-repl.exe [--help] <paths>... │
│ │
│ PATHS: │
│ │
│ <paths>... Paths │
│ │
│ OPTIONS: │
│ │
│ --help display this list of options. │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args =
args
|> parseArgs<'T>
|> fun results -> results.GetAllResults ()
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce;
Argu.ArguAttributes.Last>]]
Paths of paths : string list
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Paths _ -> nameof Paths
parseAllArgs<Arguments> [[| "a b"; "c" |]]
|> _equal [[ Arguments.Paths [[ "a b"; "c" ]] ]]
╭─[ 102.12ms - stdout ]────────────────────────────────────────────────────────╮
│ FSharpList<Arguments> │
│ - paths: [ a b, c ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args =
args
|> parseAllArgs<'T>
|> List.groupBy CommonFSharp.getUnionCaseName<'T>
|> Map.ofList
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
parseArgsMap<Arguments> [[| "a b"; "c" |]]
|> _equal (
[[ nameof Arguments.Paths, [[ Arguments.Paths [[ "a b"; "c" ]] ]] ]]
|> Map.ofList
)
╭─[ 66.49ms - stdout ]─────────────────────────────────────────────────────────╮
│ FSharpMap<String,FSharpList<Arguments>> │
│ - Key: Paths │
│ Value: FSharpList<Arguments> │
│ - paths: [ a b, c ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Runtime.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 337725 bytes to Runtime.dib.html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Toml (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/tomlyn/0.16.2/lib/net6.0/Tomlyn.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
── fsharp ──────────────────────────────────────────────────────────────────────
let inline (/./) (table: Tomlyn.Model.TomlTable) (key: string) :
Tomlyn.Model.TomlTable =
table.[[key]] :?> Tomlyn.Model.TomlTable
let inline (/../) (table: Tomlyn.Model.TomlTable) (key: string) : 'T seq =
table.[[key]] :?> Tomlyn.Model.TomlArray |> Seq.cast<'T>
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tomlContent =
"""
[[extension]]
paths = [["/a", "/b"]]
"""
let toml = Tomlyn.Toml.Parse tomlContent
let tomlModel = Tomlyn.Toml.ToModel toml
let paths : string seq = tomlModel /./ "extension" /../ "paths"
paths
|> Seq.toList
|> _equal [[ "/a"; "/b" ]]
╭─[ 124.00ms - stdout ]────────────────────────────────────────────────────────╮
│ [ /a, /b ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Toml.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 276876 bytes to Toml.dib.html
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: CommonFSharp.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Crypto.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Async.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Networking.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Threading.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: AsyncSeq.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: FileSystem.dib
23:12:09 #1 [Debug] writeDibCode / output: Fs / path: Common.dib
23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Networking.dib
23:12:09 #7 [Debug] parseDibCode / output: Fs / file: AsyncSeq.dib
23:12:09 #6 [Debug] parseDibCode / output: Fs / file: CommonFSharp.dib
23:12:09 #9 [Debug] parseDibCode / output: Fs / file: FileSystem.dib
23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Common.dib
23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Async.dib
23:12:09 #8 [Debug] parseDibCode / output: Fs / file: Crypto.dib
23:12:09 #5 [Debug] parseDibCode / output: Fs / file: Threading.dib
23:12:09 #10 [Debug] writeDibCode / output: Fs / path: Runtime.dib
23:12:09 #10 [Debug] writeDibCode / output: Fs / path: Toml.dib
23:12:09 #12 [Debug] parseDibCode / output: Fs / file: Toml.dib
23:12:09 #11 [Debug] parseDibCode / output: Fs / file: Runtime.dib
In [ ]:
{ . "$ScriptDir/../apps/plot/build.ps1" } | Invoke-Block
Finished release [optimized] target(s) in 0.58s
In [ ]:
{ . "$ScriptDir/../apps/dir-tree-html/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # DirTreeHtml (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/feliz.viewengine/0.24.0/lib/netstandard2.
0/Feliz.ViewEngine.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Networking.fs
#!import ../nbs/Runtime.fs
#!import ../nbs/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Networking =
open Common
/// ## testPortOpen
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
printException}") getLocals
return false
}
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder:...
── fsharp ──────────────────────────────────────────────────────────────────────
open FileSystem.Operators
open Feliz.ViewEngine
── fsharp ──────────────────────────────────────────────────────────────────────
type FileSystemNode =
| File of string * string * int64
| Folder of string * string * FileSystemNode list
| Root of FileSystemNode list
let rec scanDirectory isRoot (basePath : string) (path : string) =
let relativePath = path.Replace(basePath, "").Replace("\\",
"/").Replace("//", "/").TrimStart '/'
let directories =
path
|> System.IO.Directory.GetDirectories
|> Array.toList
|> List.sort
|> List.map (scanDirectory false basePath)
let files =
path
|> System.IO.Directory.GetFiles
|> Array.toList
|> List.sort
|> List.map (fun f -> File (System.IO.Path.GetFileName f, relativePath,
System.IO.FileInfo(f).Length))
let children = directories @ files
if isRoot
then Root children
else Folder (path |> System.IO.Path.GetFileName, relativePath, children)
let rec generateHtml fsNode =
let sizeLabel size =
match float size with
| size when size > 1024.0 * 1024.0 -> $"%.2f{size / 1024.0 / 1024.0} MB"
| size when size > 1024.0 -> $"%.2f{size / 1024.0} KB"
| size -> $"%.2f{size} B"
match fsNode with
| File (fileName, relativePath, size) ->
Html.div [[
prop.children [[
Html.rawText "📄 "
Html.a [[
prop.href $"""{relativePath}{if relativePath = "" then ""
else "/"}{fileName}"""
prop.text fileName
]]
Html.span [[
prop.text $" ({size |> sizeLabel})"
]]
]]
]]
| Folder (folderName, relativePath, children) ->
let size =
let rec loop children =
children
|> List.sumBy (function
| File (_, _, size) -> size
| Folder (_, _, children)
| Root children -> loop children
)
loop children
Html.details [[
prop.isOpen true
prop.children [[
Html.summary [[
prop.children [[
Html.rawText "📂 "
Html.a [[
prop.href relativePath
prop.text folderName
]]
Html.span [[
prop.text $" ({size |> sizeLabel})"
]]
]]
]]
Html.div [[
prop.children [[
yield! children |> List.map generateHtml
]]
]]
]]
]]
| Root children ->
Html.div [[
prop.children [[
yield! children |> List.map generateHtml
]]
]]
let generateHtmlForFileSystem root =
$"""<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
a {{
font-size: 15px;
}}
span {{
font-size: 11px;
}}
div > div {{
padding-left: 10px;
}}
details > div {{
padding-left: 19px;
}}
</style>
</head>
<body>
{root |> generateHtml |> Render.htmlView}
</body>
</html>
"""
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let tempFolder = FileSystem.createTempDirectory ()
let rec loop d n = async {
if n >= 0 then
tempFolder </> d |> System.IO.Directory.CreateDirectory |> ignore
do!
n
|> string
|> String.replicate (n + 1)
|> FileSystem.writeAllTextAsync (tempFolder </> d </> $"file.txt")
do! loop $"{d}/{n}" (n - 1)
}
loop "root" 3
|> Async.RunSynchronously
let html =
scanDirectory true tempFolder tempFolder
|> generateHtmlForFileSystem
html
|> _equal """<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
a {
font-size: 15px;
}
span {
font-size: 11px;
}
div > div {
padding-left: 10px;
}
details > div {
padding-left: 19px;
}
</style>
</head>
<body>
<div><details open="true"><summary>📂 <a href="root">root</a><span>
(10.00 B)</span></summary><div><details open="true"><summary>📂 <a
href="root/3">3</a><span> (6.00 B)</span></summary><div><details
open="true"><summary>📂 <a href="root/3/2">2</a><span> (3.00
B)</span></summary><div><details open="true"><summary>📂 <a
href="root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>📄 <a
href="root/3/2/1/file.txt">file.txt</a><span> (1.00
B)</span></div></div></details><div>📄 <a
href="root/3/2/file.txt">file.txt</a><span> (2.00
B)</span></div></div></details><div>📄 <a
href="root/3/file.txt">file.txt</a><span> (3.00
B)</span></div></div></details><div>📄 <a
href="root/file.txt">file.txt</a><span> (4.00
B)</span></div></div></details></div>
</body>
</html>
"""
html |> Microsoft.DotNet.Interactive.Formatting.Html.ToHtmlContent
╭─[ 230.38ms - return value ]──────────────────────────────────────────────────╮
│ <!DOCTYPE html> │
│ <html lang="en"> │
│ <head> │
│ <meta charset="UTF-8"> │
│ <style> │
│ a { │
│ font-size: 15px; │
│ } │
│ span { │
│ font-size: 11px; │
│ } │
│ div > div { │
│ padding-left: 10px; │
│ } │
│ details > div { │
│ padding-left: 19px; │
│ } │
│ </style> │
│ </head> │
│ <body> │
│ <div><details open="true"><summary>📂 <a href="root">root</a><span> │
│ (10.00 B)</span></summary><div><details open="true"><summary>📂 <a │
│ href="root/3">3</a><span> (6.00 B)</span></summary><div><details │
│ open="true"><summary>📂 <a href="root/3/2">2</a><span> (3.00 │
│ B)</span></summary><div><details open="true"><summary>📂 <a │
│ href="root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>📄 │
│ <a href="root/3/2/1/file.txt">file.txt</a><span> (1.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="root/3/2/file.txt">file.txt</a><span> (2.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="root/3/file.txt">file.txt</a><span> (3.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="root/file.txt">file.txt</a><span> (4.00 │
│ B)</span></div></div></details></div> │
│ </body> │
│ </html> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 249.02ms - stdout ]────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2312-2439-3997-35cf3 │
│ 88387c7 / result: { CreationTime = 2023-10-08 11:12:24 PM │
│ Exists = true } │
│ <!DOCTYPE html> │
│ <html lang="en"> │
│ <head> │
│ <meta charset="UTF-8"> │
│ <style> │
│ a { │
│ font-size: 15px; │
│ } │
│ span { │
│ font-size: 11px; │
│ } │
│ div > div { │
│ padding-left: 10px; │
│ } │
│ details > div { │
│ padding-left: 19px; │
│ } │
│ </style> │
│ </head> │
│ <body> │
│ <div><details open="true"><summary>📂 <a href="root">root</a><span> │
│ (10.00 B)</span></summary><div><details open="true"><summary>📂 <a │
│ href="root/3">3</a><span> (6.00 B)</span></summary><div><details │
│ open="true"><summary>📂 <a href="root/3/2">2</a><span> (3.00 │
│ B)</span></summary><div><details open="true"><summary>📂 <a │
│ href="root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>📄 │
│ <a href="root/3/2/1/file.txt">file.txt</a><span> (1.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="root/3/2/file.txt">file.txt</a><span> (2.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="root/3/file.txt">file.txt</a><span> (3.00 │
│ B)</span></div></div></details><div>📄 <a │
│ href="root/file.txt">file.txt</a><span> (4.00 │
│ B)</span></div></div></details></div> │
│ </body> │
│ </html> │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| [[<Argu.ArguAttributes.ExactlyOnce>]] Dir of string
| [[<Argu.ArguAttributes.ExactlyOnce>]] Html of string
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| Dir _ -> nameof Dir
| Html _ -> nameof Html
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let dir =
match argsMap.[[nameof Arguments.Dir]] with
| [[ Arguments.Dir dir ]] -> Some dir
| _ -> None
|> Option.get
let htmlPath =
match argsMap.[[nameof Arguments.Html]] with
| [[ Arguments.Html html ]] -> Some html
| _ -> None
|> Option.get
let fileSystem = scanDirectory true dir dir
let html = generateHtmlForFileSystem fileSystem
html |> FileSystem.writeAllTextAsync htmlPath
|> Async.runWithTimeout 30000
|> function
| Some () -> 0
| None -> 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 78.91ms - return value ]───────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook DirTreeHtml.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 306256 bytes to DirTreeHtml.dib.html
23:12:28 #1 [Debug] writeDibCode / output: Fs / path: DirTreeHtml.dib
23:12:28 #2 [Debug] parseDibCode / output: Fs / file: DirTreeHtml.dib
23:12:28 #1 [Debug] persistCodeProject / packages: [Argu; Feliz.ViewEngine; FSharp.Control.AsyncSeq; ... ] / modules: [nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Async.fs; ... ] / path: C:\home\git\polyglot\apps\dir-tree-html / name: DirTreeHtml / code.Length: 4755
23:12:28 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj
23:12:28 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\dir-tree-html\target"
CancellationToken = None
OnLine = None }
23:12:29 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
23:12:29 #5 [Debug] > Determining projects to restore...
23:12:30 #6 [Debug] > Restored C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj (in 405 ms).
23:12:30 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj]
23:12:36 #8 [Debug] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\target\bin\release\net8.0\linux-x64\DirTreeHtml.dll
23:12:37 #9 [Debug] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\dist\
23:12:37 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 43400 / output.Length: 665
23:12:37 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\dir-tree-html\target"
CancellationToken = None
OnLine = None }
23:12:38 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
23:12:38 #13 [Debug] > Determining projects to restore...
23:12:39 #14 [Debug] > Restored C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj (in 431 ms).
23:12:39 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dir-tree-html\target\DirTreeHtml.fsproj]
23:12:45 #16 [Debug] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\target\bin\release\net8.0\win-x64\DirTreeHtml.dll
23:12:54 #17 [Debug] > DirTreeHtml -> C:\home\git\polyglot\apps\dir-tree-html\dist\
23:12:54 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 42468 / output.Length: 663
In [ ]:
{ . "$ScriptDir/../apps/spiral/build.ps1" } | Invoke-Block
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ # Supervisor (Polyglot) │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Testing.dib
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
spNetCore.Html.Abstractions.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.Formatting.dll"
open System
open System.IO
open System.Text
open Microsoft.DotNet.Interactive.Formatting
── fsharp - import ─────────────────────────────────────────────────────────────
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.FSharp.dll"
open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
#r
"C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
otNet.Interactive.dll"
open type Microsoft.DotNet.Interactive.Kernel
── fsharp - import ─────────────────────────────────────────────────────────────
#r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll"
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
Formatter.ListExpansionLimit <- 100
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
type AssertExceptionFormatter (ex) =
member _.Text =
ex.ToString()
.Replace("32m", "<span style=\"color: green;\">")
.Replace("36m", "</span>")
.Replace("31m", "<span style=\"color: red;\">")
.Replace("\n", "<br/>\n")
Formatter.Register<AssertExceptionFormatter> ((fun (x :
AssertExceptionFormatter) -> x.Text), "text/html")
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __expect fn log expected actual =
if log then printfn $"{actual.ToDisplayString ()}"
try
"Testing.__expect" |> fn actual expected
with :? Expecto.AssertException as ex ->
AssertExceptionFormatter(ex).Display () |> ignore
failwith (ex.GetType().FullName)
let inline __contains log expected actual = __expect Expecto.Expect.contains log
expected actual
let inline _contains expected actual = __contains true expected actual
let inline __equal log expected actual = __expect Expecto.Expect.equal log
expected actual
let inline _equal expected actual = __equal true expected actual
let inline __isGreaterThan log expected actual = __expect
Expecto.Expect.isGreaterThan log expected actual
let ...
── fsharp - import ─────────────────────────────────────────────────────────────
//// test
let inline __isBetween log a b actual =
let inline isBetween actual (a, b) _ =
__isGreaterThanOrEqual log a actual
__isLessThanOrEqual log b actual
__expect isBetween log (a, b) actual
let inline _isBetween a b actual = __isBetween true a b actual
── fsharp ──────────────────────────────────────────────────────────────────────
#r
@"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
dard2.1/FSharp.Control.AsyncSeq.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
0/System.Reactive.dll"
#r
@"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/
netstandard2.0/System.Reactive.Linq.dll"
#r
@"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
#r
@"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
b/net6.0/System.CommandLine.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com
mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli
ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0
/lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0
/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll"
#r
@"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/
7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll"
#r
@"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha
rp.Json.dll"
── fsharp ──────────────────────────────────────────────────────────────────────
#!import ../nbs/Common.fs
#!import ../nbs/CommonFSharp.fs
#!import ../nbs/Threading.fs
#!import ../nbs/Async.fs
#!import ../nbs/AsyncSeq.fs
#!import ../nbs/Networking.fs
#!import ../nbs/Runtime.fs
#!import ../nbs/FileSystem.fs
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Common =
let nl = System.Environment.NewLine
let q = @""""
let inline cons head tail = head :: tail
module String =
let inline contains (value : string) (input : string) =
input.Contains value
let inline endsWith (value : string) (input : string) =
input.EndsWith value
let inline padLeft totalWidth paddingChar (input : string) =
input.PadLeft (totalWidth, paddingChar)
let inline replace (oldValue : string) (newValue : string) (input :
string) =
input.Replace (oldValue, newValue)
let inline split separator (input : string) =
input.Split separator
let inline spli...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module CommonFSharp =
open Common
/// ## getUnionCaseName
let inline getUnionCaseName<'T> (x: 'T) =
match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
| case, _ -> case.Name
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Threading =
open Common
/// ## newDisposableToken
let inline newDisposableToken (mergeToken:
System.Threading.CancellationToken option) =
let cts = new System.Threading.CancellationTokenSource ()
let cts =
match mergeToken with
| None -> cts
| Some mergeToken ->
System.Threading.CancellationTokenSource.CreateLinkedTokenSource
[[| cts.Token; mergeToken |]]
let disposable = newDisposable cts.Cancel
cts.Token, disposable
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Async =
open Common
/// ## choice
let inline choice asyncs = async {
let e = Event<_> ()
use cts = new System.Threading.CancellationTokenSource ()
let fn =
asyncs
|> Seq.map (fun a -> async {
let! x = a
e.Trigger x
})
|> Async.Parallel
|> Async.Ignore
Async.Start (fn, cts.Token)
let! result = Async.AwaitEvent e.Publish
cts.Cancel ()
return result
}
/// ## map
let inline map fn a = async {
let! x = a
return fn x
}
/// ## catch
let inline catch a =
a
|> Async.Catch
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module AsyncSeq =
open Common
/// ## subscribeEvent
let inline subscribeEvent (event: IEvent<'H, 'A>) map =
let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
'A>(event.AddHandler, event.RemoveHandler)
System.Reactive.Linq.Observable.Select (observable, fun event -> map
event.EventArgs)
|> FSharp.Control.AsyncSeq.ofObservableBuffered
let subscribeToken (token : System.Threading.CancellationToken) =
let tcs = new System.Threading.Tasks.TaskCompletionSource ()
System.Action tcs.SetResult |> token.Register |> ignore
let start = System.DateTime.Now.Ticks
FSharp.Control.AsyncSeq.unfoldAsync
(fun (...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Networking =
open Common
/// ## testPortOpen
let inline testPortOpen port = async {
let! ct = Async.CancellationToken
use client = new System.Net.Sockets.TcpClient ()
try
do! client.ConnectAsync ("127.0.0.1", port, ct) |>
Async.awaitValueTaskUnit
return true
with ex ->
trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
printException}") getLocals
return false
}
let inline testPortOpenTimeout timeout port = async {
let! result =
testPortOpen port
|> Async.runWithTimeoutAsync timeout
return
match result with
| None -> false
...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module Runtime =
open Common
/// ## isWindows
let isWindows =
fun () ->
System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
System.Runtime.InteropServices.OSPlatform.Windows
|> memoize
/// ## getExecutableSuffix
let inline getExecutableSuffix () =
if isWindows ()
then ".exe"
else ""
/// ## splitCommand
type private CommandParseStep =
| Start
| Path of quoted: bool
| Arguments
let splitCommand (command: string) =
let rec loop (path, args) chars step =
match chars, step with
| ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
── fsharp - import ─────────────────────────────────────────────────────────────
#if !INTERACTIVE
namespace Polyglot
#endif
module FileSystem =
open Common
/// ## Operators
module Operators =
let inline (</>) a b =
System.IO.Path.Combine (a, b)
open Operators
/// ## createTempDirectoryName
let inline createTempDirectoryName () =
let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
System.IO.Path.GetTempPath ()
</> $"!{root}"
</> string (newGuidFromDateTime System.DateTime.Now)
/// ## createTempDirectory
let inline createTempDirectory () =
let tempFolder = createTempDirectoryName ()
let result = System.IO.Directory.CreateDirectory tempFolder
let getLocals () =
$"tempFolder:...
── fsharp ──────────────────────────────────────────────────────────────────────
open Common
open FileSystem.Operators
open Microsoft.AspNetCore.SignalR.Client
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## sendJson │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sendJson (port : int) (json : string) = async {
let! portOpen = Networking.testPortOpen port
if portOpen then
try
let connection =
HubConnectionBuilder().WithUrl($"http://127.0.0.1:{port}").Build()
do! connection.StartAsync () |> Async.AwaitTask
let! result = connection.InvokeAsync<string>("ClientToServerMsg",
json) |> Async.AwaitTask
do! connection.StopAsync () |> Async.AwaitTask
trace Debug (fun () -> $"sendJson / port: {port} / json: {json} /
result.Length: {result |> Option.ofObj |> Option.map String.length}") getLocals
return Some result
with ex ->
trace Critical (fun () -> $"sendJson / port: {port} / json: {json} /
ex: {ex |> printException}") getLocals
return None
else
trace Debug (fun () -> "sendJson / error: port not open") getLocals
return None
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## sendObj │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline sendObj port obj =
obj
|> System.Text.Json.JsonSerializer.Serialize
|> sendJson port
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## awaitCompiler │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
type VSCPos = {| line : int; character : int |}
type VSCRange = VSCPos * VSCPos
type RString = VSCRange * string
type TracedError = {| trace : string list; message : string |}
type ClientErrorsRes =
| FatalError of string
| TracedError of TracedError
| PackageErrors of {| uri : string; errors : RString list |}
| TokenizerErrors of {| uri : string; errors : RString list |}
| ParserErrors of {| uri : string; errors : RString list |}
| TypeErrors of {| uri : string; errors : RString list |}
── fsharp ──────────────────────────────────────────────────────────────────────
let inline awaitCompiler port cancellationToken = async {
let! ct =
cancellationToken
|> Option.defaultValue System.Threading.CancellationToken.None
|> Async.mergeCancellationTokenWithDefaultAsync
let cts = new System.Threading.CancellationTokenSource ()
let compiler = MailboxProcessor.Start (fun inbox -> async {
let! availablePort = Networking.getAvailablePort (Some 60) port
if availablePort <> port then
inbox.Post port
else
let repositoryRoot = FileSystem.getSourceDirectory () |>
FileSystem.findParent ".paket" false
let compilerPath =
repositoryRoot </> "deps/The-Spiral-Language/The Spiral Language
2/artifacts/bin/The Spiral Language 2/release"
|> System.IO.Path.GetFullPath
let dllPath = compilerPath </> "Spiral.dll"
let! exitCode, result =
Runtime.executeWithOptionsAsync
{
Command = $@"dotnet ""{dllPath}"" port={availablePort}"
CancellationToken = Some ct
WorkingDirectory = None
OnLine = Some <| fun { Line = line } -> async {
if line |> String.contains $"Server bound to:
http://localhost:{availablePort}" then
do! Networking.waitForPortAccess (Some 500) true
availablePort |> Async.Ignore
let rec loop retry = async {
let getLocals () = $"port: {availablePort} /
retry: {retry} / {getLocals ()}"
try
let pingObj = {| Ping = true |}
let! pingResult = pingObj |> sendObj
availablePort
trace Verbose (fun () -> $"awaitCompiler
/ Ping / result: {pingResult}") getLocals
with ex ->
trace Verbose (fun () -> $"awaitCompiler
/ Ping / ex: {ex |> printException}") getLocals
do! Async.Sleep 10
do! loop (retry + 1)
}
do! loop 0
inbox.Post availablePort
}
}
trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} /
result: {result}") getLocals
cts.Cancel ()
}, ct)
let! serverPort = compiler.Receive ()
let connection =
HubConnectionBuilder().WithUrl($"http://127.0.0.1:{serverPort}").Build ()
do! connection.StartAsync () |> Async.AwaitTask
let event = Event<_> ()
let disposable = connection.On<string> ("ServerToClientMsg", event.Trigger)
let stream =
FSharp.Control.AsyncSeq.unfoldAsync
(fun () -> async {
let! msg = event.Publish |> Async.AwaitEvent
return Some (msg |>
FSharp.Json.Json.deserialize<ClientErrorsRes>, ())
})
()
let disposable =
newDisposable (fun () ->
disposable.Dispose ()
connection.StopAsync () |> Async.AwaitTask |> Async.StartImmediate
)
return
serverPort,
stream,
cts.Token,
disposable
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getFileUri │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getFileUri path =
$"file:///{path |> String.trimStart [[| '/' |]]}"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getFilePathFromUri uri =
match System.Uri.TryCreate (uri, System.UriKind.Absolute) with
| true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath
| _ -> failwith "invalid uri"
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getCompilerPort () =
13805
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildFile │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildFile timeout port cancellationToken path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let fileDir = fullPath |> System.IO.Path.GetDirectoryName
let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension
let! code = fullPath |> FileSystem.readAllTextAsync
let stream, disposable = FileSystem.watchDirectory true fileDir
use _ = disposable
let token, disposable = Threading.newDisposableToken cancellationToken
use _ = disposable
let! serverPort, errors, ct, disposable = awaitCompiler port (Some token)
use _ = disposable
let fsxContentSeq =
stream
|> FSharp.Control.AsyncSeq.choose (function
| _, FileSystem.FileSystemChange.Changed (path, Some content) when
path = $"{fileName}.fsx" ->
Some content
| _ -> None
)
|> FSharp.Control.AsyncSeq.map (fun content ->
Some (content |> String.replace "\r\n" "\n"), None
)
let inline printErrorData (data : {| uri : string; errors : RString list |})
=
let fileName = data.uri |> System.IO.Path.GetFileName
let errors =
data.errors
|> List.map snd
|> String.concat "\n"
$"{fileName}:\n{errors}"
let errorsSeq =
errors
|> FSharp.Control.AsyncSeq.choose (fun error ->
match error with
| FatalError message ->
Some (message, error)
| TracedError data ->
Some (data.message, error)
| PackageErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| TokenizerErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| ParserErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| TypeErrors data when data.errors |> List.isEmpty |> not ->
Some (data |> printErrorData, error)
| _ -> None
)
|> FSharp.Control.AsyncSeq.map (fun (message, error) ->
None, Some (message, error)
)
let outputSeq =
[[ fsxContentSeq; errorsSeq ]]
|> FSharp.Control.AsyncSeq.mergeAll
let! outputChild =
((None, [[]]), outputSeq)
||> FSharp.Control.AsyncSeq.scan (
fun (fsxContentResult, errors) (fsxContent, error) ->
match fsxContent, error with
| Some fsxContent, None -> Some fsxContent, errors
| None, Some error ->
fsxContentResult,
error :: errors
| _ -> fsxContentResult, errors
)
|> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (fsxContent, errors)
->
trace Debug (fun () -> $"buildFile / fsxContent: {fsxContent} /
errors: {errors}") getLocals
match fsxContent, errors with
| None, [[]] -> true
| _ -> false
)
|> FSharp.Control.AsyncSeq.map (fun (fsxContent, errors) ->
fsxContent, errors |> List.distinct
)
|> FSharp.Control.AsyncSeq.tryLast
|> Async.withCancellationToken ct
|> Async.catch
|> Async.runWithTimeoutAsync timeout
|> Async.StartChild
let fileOpenObj = {| FileOpen = {| uri = fullPath |> getFileUri; spiText =
code |} |}
let! _fileOpenResult = fileOpenObj |> sendObj serverPort
let buildFileObj = {| BuildFile = {| uri = fullPath |> getFileUri; backend =
"Fsharp" |} |}
let! _buildFileResult = buildFileObj |> sendObj serverPort
return!
outputChild
|> Async.map (function
| Some (Ok (Some result)) -> result
| Some (Error ex) ->
trace Critical (fun () -> $"buildFile / error: {ex |>
printException}") getLocals
None, [[]]
| _ -> None, [[]]
)
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## persistCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline persistCode code = async {
let tempDir = FileSystem.createTempDirectory ()
let mainPath = tempDir </> "main.spi"
do! code |> FileSystem.writeAllTextAsync mainPath
let repositoryRoot = FileSystem.getSourceDirectory () |>
FileSystem.findParent ".paket" false
let spiprojPath = tempDir </> "package.spiproj"
let spiprojCode =
$"""packageDir: {repositoryRoot </> "lib"}
packages:
|core-
spiral-
modules:
main
"""
do! spiprojCode |> FileSystem.writeAllTextAsync spiprojPath
let disposable = newDisposable (fun () ->
()
// tempDir |> FileSystem.deleteDirectoryAsync |> Async.Ignore |>
Async.RunSynchronously
)
return mainPath, disposable
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## buildCode │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline buildCode timeout cancellationToken code = async {
let! mainPath, disposable = persistCode code
use _ = disposable
let port = getCompilerPort ()
return! mainPath |> buildFile timeout port cancellationToken
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let buildCode timeout cancellationToken code = buildCode timeout
cancellationToken code
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl app () =
console.write_line "text"
1i32
inl main () =
app
|> dyn
|> ignore
"""
|> buildCode 15000 None
|> Async.runWithTimeout 15000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
Some """let rec closure0 () () : int32 =
let v0 : string = "text"
System.Console.WriteLine v0
1
let v0 : (unit -> int32) = closure0()
()
""",
[[]]
)
)
╭─[ 3.89s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:00 #1 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2378-7822-737c8 │
│ a66580b / result: { CreationTime = 2023-10-08 11:13:23 PM │
│ Exists = true } │
│ 00:00:00 #2 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:00 #3 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:00 #4 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:00 #5 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:01 #6 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:01 #7 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:01 #8 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:01 #9 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:01 #10 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:01 #11 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:01 #12 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl app () =\n console.write_line │
│ \u0022text\u0022\n 1i32\n\ninl main () =\n app\n |\u003E dyn\n │
│ |\u003E │
│ ignore\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-rep │
│ l\\20231008-2313-2378-7822-737c8a66580b\\main.spi"}} / result.Length: │
│ 00:00:01 #13 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-2378-7822-737c8a66580b\\main.spi"}} │
│ / result.Length: │
│ 00:00:02 #14 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2378-7822-737c8 │
│ a66580b\main.spi │
│ 00:00:03 #15 [Debug] buildFile / fsxContent: Some(let rec closure0 () () : │
│ int32 = │
│ let v0 : string = "text" │
│ System.Console.WriteLine v0 │
│ 1 │
│ let v0 : (unit -> int32) = closure0() │
│ () │
│ ) / errors: [] │
│ 00:00:03 #16 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2378-7822-737c8 │
│ a66580b / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - FSharpOption<String> │
│ Value: let rec closure0 () () : int32 = │
│ let v0 : string = "text" │
│ System.Console.WriteLine v0 │
│ 1 │
│ let v0 : (unit -> int32) = closure0() │
│ () │
│ │
│ - [ ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> _equal None
╭─[ 10.25s - stdout ]──────────────────────────────────────────────────────────╮
│ 00:00:03 #17 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │
│ c58a1af / result: { CreationTime = 2023-10-08 11:13:27 PM │
│ Exists = true } │
│ 00:00:03 #18 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:03 #19 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:04 #20 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:04 #21 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:04 #22 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:04 #23 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:04 #24 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:04 #25 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:05 #26 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:05 #27 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\T │
│ emp\\!dotnet-repl\\20231008-2313-2769-6943-68f0ac58a1af\\main.spi"}} / │
│ result.Length: │
│ 00:00:05 #28 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-2769-6943-68f0ac58a1af\\main.spi"}} │
│ / result.Length: │
│ 00:00:05 #29 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │
│ c58a1af\main.spi │
│ 00:00:06 #30 [Debug] > Cannot find `main` in file main. │
│ 00:00:06 #31 [Debug] > Build skipped for │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │
│ c58a1af\main.spi │
│ 00:00:13 #32 [Debug] runWithTimeoutAsync / timeout: 10000 │
│ 00:00:13 #33 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-2769-6943-68f0a │
│ c58a1af / filter: FileName, LastWrite │
│ <null> │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"inl app () =
0i32
inl a = 1
inl main () =
app
|> dyn
|> ignore
"
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "main.spi:
Global inl/let statements should all return functions known at parse time." ]]
)
)
╭─[ 1.73s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:14 #34 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9460-9e752 │
│ e43c0ad / result: { CreationTime = 2023-10-08 11:13:37 PM │
│ Exists = true } │
│ 00:00:14 #35 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:14 #36 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:14 #37 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:14 #38 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:14 #39 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:15 #41 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:15 #42 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:15 #43 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:15 #44 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:15 #45 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl app () =\n 0i32\n\ninl a = 1\n\ninl main () │
│ =\n app\n |\u003E dyn\n |\u003E │
│ ignore\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-rep │
│ l\\20231008-2313-3794-9460-9e752e43c0ad\\main.spi"}} / result.Length: │
│ 00:00:15 #46 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-3794-9460-9e752e43c0ad\\main.spi"}} │
│ / result.Length: │
│ 00:00:15 #47 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9460-9e752 │
│ e43c0ad\main.spi │
│ 00:00:15 #48 [Debug] buildFile / fsxContent: / errors: [(main.spi: │
│ Global inl/let statements should all return functions known at parse time., │
│ ParserErrors │
│ { errors = │
│ [(({ character = 0 │
│ line = 3 }, { character = 9 │
│ line = 3 }), │
│ "Global inl/let statements should all return functions known at parse │
│ time.")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9 │
│ 460-9e752e43c0ad\main.spi" })] │
│ 00:00:15 #49 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3794-9460-9e752 │
│ e43c0ad / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Global inl/let statements should all return functions known at parse time. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () =
1i32 / 0i32
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "An attempt to divide by zero has been detected at compile time." ]]
)
)
╭─[ 3.03s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:15 #50 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │
│ 86c68cd / result: { CreationTime = 2023-10-08 11:13:39 PM │
│ Exists = true } │
│ 00:00:16 #51 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:16 #52 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:16 #53 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:16 #54 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:16 #55 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:16 #56 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:16 #57 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:16 #58 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:16 #59 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:16 #60 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:17 #61 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │
│ 0i32\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\ │
│ \20231008-2313-3973-7368-7ac2286c68cd\\main.spi"}} / result.Length: │
│ 00:00:17 #62 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-3973-7368-7ac2286c68cd\\main.spi"}} │
│ / result.Length: │
│ 00:00:17 #63 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │
│ 86c68cd\main.spi │
│ 00:00:18 #64 [Debug] buildFile / fsxContent: / errors: [(An attempt to │
│ divide by zero has been detected at compile time., TracedError │
│ { message = "An attempt to divide by zero has been detected at compile │
│ time." │
│ trace = │
│ ["Error trace on line: 1, column: 10 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │
│ 86c68cd\main.spi. │
│ inl main () = │
│ ^ │
│ "; │
│ "Error trace on line: 2, column: 5 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │
│ 86c68cd\main.spi. │
│ 1i32 / 0i32 │
│ ^ │
│ "] })] │
│ 00:00:18 #65 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-3973-7368-7ac22 │
│ 86c68cd / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ An attempt to divide by zero has been detected at compile time. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""union a =
| B
| c
inl main () =
()
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "main.spi:
Expected: uppercase variable" ]]
)
)
╭─[ 2.86s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:19 #66 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0413-0443d │
│ 4e97a07 / result: { CreationTime = 2023-10-08 11:13:43 PM │
│ Exists = true } │
│ 00:00:19 #67 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:19 #68 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:19 #69 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:19 #70 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:20 #71 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:20 #72 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:20 #73 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:20 #74 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:20 #75 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:20 #76 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:21 #77 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"union a =\n | B\n | c\n\ninl main () =\n │
│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231008-2313-4304-0413-0443d4e97a07\\main.spi"}} / result.Length: │
│ 00:00:21 #78 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-4304-0413-0443d4e97a07\\main.spi"}} │
│ / result.Length: │
│ 00:00:21 #79 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0413-0443d │
│ 4e97a07\main.spi │
│ 00:00:21 #80 [Debug] buildFile / fsxContent: / errors: [(main.spi: │
│ Expected: uppercase variable, ParserErrors │
│ { errors = [(({ character = 6 │
│ line = 2 }, { character = 7 │
│ line = 2 }), "Expected: uppercase │
│ variable")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0 │
│ 413-0443d4e97a07\main.spi" })] │
│ 00:00:21 #81 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4304-0413-0443d │
│ 4e97a07 / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Expected: uppercase variable ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
/// abc
inl main () =
()
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "main.spi:
Expected: whitespace" ]]
)
)
╭─[ 1.84s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:21 #82 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4574-7408-75085 │
│ 8514b8e / result: { CreationTime = 2023-10-08 11:13:45 PM │
│ Exists = true } │
│ 00:00:22 #83 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:22 #84 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:22 #85 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:22 #86 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:22 #87 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:23 #88 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:23 #89 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:23 #90 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:23 #91 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:23 #92 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\n/// abc\ninl main () =\n │
│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231008-2313-4574-7408-750858514b8e\\main.spi"}} / result.Length: │
│ 00:00:23 #93 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-4574-7408-750858514b8e\\main.spi"}} │
│ / result.Length: │
│ 00:00:23 #94 [Debug] buildFile / fsxContent: / errors: [(main.spi: │
│ Expected: whitespace, TokenizerErrors │
│ { errors = [(({ character = 2 │
│ line = 1 }, { character = 3 │
│ line = 1 }), "Expected: whitespace")] │
│ uri = │
│ │
│ "file:///C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4574-7 │
│ 408-750858514b8e\main.spi" })] │
│ 00:00:23 #95 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4574-7408-75085 │
│ 8514b8e / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ main.spi: │
│ Expected: whitespace ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl main () =
real
inl real_unbox forall a. (obj : a) : a =
typecase obj with
| _ => obj
real_unbox ()
()
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "Cannot apply a forall with a term." ]]
)
)
╭─[ 2.98s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:23 #96 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │
│ 4f0a940 / result: { CreationTime = 2023-10-08 11:13:47 PM │
│ Exists = true } │
│ 00:00:24 #97 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:24 #98 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:24 #99 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:24 #100 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:24 #101 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:24 #102 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:25 #103 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:25 #104 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:25 #105 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:25 #106 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:25 #107 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │
│ forall a. (obj : a) : a =\n typecase obj with\n | _ │
│ =\u003E obj\n real_unbox ()\n │
│ ()\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231008-2313-4774-7429-7c2b84f0a940\\main.spi"}} / result.Length: │
│ 00:00:25 #108 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-4774-7429-7c2b84f0a940\\main.spi"}} │
│ / result.Length: │
│ 00:00:25 #109 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │
│ 4f0a940\main.spi │
│ 00:00:26 #110 [Debug] buildFile / fsxContent: / errors: [(Cannot apply a │
│ forall with a term., TracedError │
│ { message = "Cannot apply a forall with a term." │
│ trace = │
│ ["Error trace on line: 2, column: 10 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │
│ 4f0a940\main.spi. │
│ inl main () = │
│ ^ │
│ "; │
│ "Error trace on line: 4, column: 9 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │
│ 4f0a940\main.spi. │
│ inl real_unbox forall a. (obj : a) : a = │
│ ^ │
│ "; │
│ "Error trace on line: 7, column: 9 in module: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │
│ 4f0a940\main.spi. │
│ real_unbox () │
│ ^ │
│ "] })] │
│ 00:00:26 #111 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-4774-7429-7c2b8 │
│ 4f0a940 / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ Cannot apply a forall with a term. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl main () =
real
inl real_unbox forall a. (obj : a) : a =
typecase obj with
| _ => obj
real_unbox `i32 1
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
None,
[[ "The main function should not have a forall." ]]
)
)
╭─[ 2.55s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:26 #112 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5061-6158-615dc │
│ dfacbf5 / result: { CreationTime = 2023-10-08 11:13:50 PM │
│ Exists = true } │
│ 00:00:26 #113 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:26 #114 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:27 #115 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:27 #116 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:27 #117 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:27 #118 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:27 #119 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:27 #120 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:27 #121 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:27 #122 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:27 #123 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │
│ forall a. (obj : a) : a =\n typecase obj with\n | _ │
│ =\u003E obj\n real_unbox \u0060i32 │
│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231008-2313-5061-6158-615dcdfacbf5\\main.spi"}} / result.Length: │
│ 00:00:27 #124 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-5061-6158-615dcdfacbf5\\main.spi"}} │
│ / result.Length: │
│ 00:00:28 #125 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5061-6158-615dc │
│ dfacbf5\main.spi │
│ 00:00:29 #126 [Debug] buildFile / fsxContent: / errors: [(The main function │
│ should not have a forall., TracedError { message = "The main function should │
│ not have a forall." │
│ trace = [] })] │
│ 00:00:29 #127 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5061-6158-615dc │
│ dfacbf5 / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - <null> │
│ - [ The main function should not have a forall. ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl init_series start end inc =
inl total : f64 = conv ((end - start) / inc) + 1
listm.init total (conv >> (*) inc >> (+) start) : list f64
type integration = (f64 -> f64) -> f64 -> f64 -> f64
inl integral dt : integration =
fun f a b =>
init_series (a + dt / 2) (b - dt / 2) dt
|> listm.map (f >> (*) dt)
|> listm.fold (+) 0
inl main () =
integral 0.1 (fun x => x ** 2) 0 1
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
|> _equal (
Some (
Some "0.3325000000000001\n",
[[]]
)
)
╭─[ 3.12s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:29 #128 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5326-2632-25e03 │
│ 53a1c52 / result: { CreationTime = 2023-10-08 11:13:53 PM │
│ Exists = true } │
│ 00:00:29 #129 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:29 #130 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:29 #131 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:29 #132 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:30 #133 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:30 #134 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:30 #135 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:30 #136 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:30 #137 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:30 #138 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │
│ f64 = conv ((end - start) / inc) \u002B 1\n listm.init total (conv │
│ \u003E\u003E (*) inc \u003E\u003E (\u002B) start) : list f64\n\ntype │
│ integration = (f64 -\u003E f64) -\u003E f64 -\u003E f64 -\u003E f64\n\ninl │
│ integral dt : integration =\n fun f a b =\u003E\n init_series (a │
│ \u002B dt / 2) (b - dt / 2) dt\n |\u003E listm.map (f \u003E\u003E │
│ (*) dt)\n |\u003E listm.fold (\u002B) 0\n\ninl main () =\n │
│ integral 0.1 (fun x =\u003E x ** 2) 0 │
│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231008-2313-5326-2632-25e0353a1c52\\main.spi"}} / result.Length: │
│ 00:00:30 #139 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-5326-2632-25e0353a1c52\\main.spi"}} │
│ / result.Length: │
│ 00:00:31 #140 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5326-2632-25e03 │
│ 53a1c52\main.spi │
│ 00:00:32 #141 [Debug] buildFile / fsxContent: Some(0.3325000000000001 │
│ ) / errors: [] │
│ 00:00:32 #142 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5326-2632-25e03 │
│ 53a1c52 / filter: FileName, LastWrite │
│ FSharpOption<Tuple<FSharpOption<String>,FSharpList<String>>> │
│ Value: - FSharpOption<String> │
│ Value: 0.3325000000000001 │
│ │
│ - [ ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""
inl init_series start end inc =
inl total : f64 = conv ((end - start) / inc) + 1
listm.init total (conv >> (*) inc >> (+) start) : list f64
type integration = (f64 -> f64) -> f64 -> f64 -> f64
inl integral dt : integration =
fun f a b =>
init_series (a + dt / 2) (b - dt / 2) dt
|> listm.map (f >> (*) dt)
|> listm.fold (+) 0
inl main () =
integral 0.01 (fun x => x ** 2) 0 1
"""
|> buildCode 10000 None
|> Async.runWithTimeout 10000
|> Option.map (fun (fsxContent, errors) -> fsxContent, errors |> List.map fst)
// |> _equal None
// |> fun x -> printfn $"{x.ToDisplayString ()}"
╭─[ 7.98s - return value ]─────────────────────────────────────────────────────╮
│ <details open="open" class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>Some((, [ │
│ ]))</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │
│ d>Value</td><td><details class="dni-treeview"><summary><span │
│ class="dni-code-hint"><code>(, [ │
│ ])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │
│ >Item1</td><td><div │
│ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td>Item2</ │
│ td><td><div class="dni-plaintext"><pre>[ │
│ ]</pre></div></td></tr></tbody></table></div></details></td></tr></tbody></t │
│ able></div></details><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
╭─[ 8.02s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:32 #143 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │
│ 575a5d4 / result: { CreationTime = 2023-10-08 11:13:56 PM │
│ Exists = true } │
│ 00:00:32 #144 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:32 #145 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:buildCode@3-980> } │
│ 00:00:32 #146 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:32 #147 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:33 #148 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:33 #149 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:00:33 #150 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:33 #151 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:33 #152 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:33 #153 [Debug] buildFile / fsxContent: / errors: [] │
│ 00:00:33 #154 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │
│ f64 = conv ((end - start) / inc) \u002B 1\n listm.init total (conv │
│ \u003E\u003E (*) inc \u003E\u003E (\u002B) start) : list f64\n\ntype │
│ integration = (f64 -\u003E f64) -\u003E f64 -\u003E f64 -\u003E f64\n\ninl │
│ integral dt : integration =\n fun f a b =\u003E\n init_series (a │
│ \u002B dt / 2) (b - dt / 2) dt\n |\u003E listm.map (f \u003E\u003E │
│ (*) dt)\n |\u003E listm.fold (\u002B) 0\n\ninl main () =\n │
│ integral 0.01 (fun x =\u003E x ** 2) 0 │
│ 1\n","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20 │
│ 231008-2313-5640-4036-41eb3575a5d4\\main.spi"}} / result.Length: │
│ 00:00:33 #155 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\Users\\i574n\\AppData\\L │
│ ocal\\Temp\\!dotnet-repl\\20231008-2313-5640-4036-41eb3575a5d4\\main.spi"}} │
│ / result.Length: │
│ 00:00:34 #156 [Debug] > Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │
│ 575a5d4\main.spi │
│ 00:00:35 #157 [Debug] > Stack overflow. │
│ 00:00:35 #158 [Debug] > Repeat 3 times: │
│ 00:00:35 #159 [Debug] > -------------------------------- │
│ 00:00:35 #160 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #161 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #162 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #163 [Debug] > -------------------------------- │
│ 00:00:35 #164 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #165 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #166 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #167 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #168 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #169 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #170 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #171 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #172 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #173 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #174 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #175 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #176 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #177 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #178 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #179 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #180 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #181 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #182 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #183 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #184 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #185 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #186 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #187 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #188 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #189 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #190 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #191 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #192 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #193 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #194 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #195 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #196 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #197 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #198 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #199 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #200 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #201 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #202 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #203 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #204 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #205 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #206 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #207 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #208 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #209 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #210 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #211 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #212 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #213 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #214 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #215 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #216 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #217 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #218 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #219 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #220 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #221 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #222 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #223 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #224 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #225 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #226 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #227 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #228 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #229 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #230 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #231 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #232 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #233 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #234 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #235 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #236 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #237 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #238 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #239 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #240 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #241 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #242 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #243 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #244 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #245 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #246 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #247 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #248 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #249 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #250 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #251 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #252 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #253 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #254 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #255 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #256 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #257 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #258 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #259 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #260 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #261 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #262 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #263 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #264 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #265 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #266 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #267 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #268 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #269 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #270 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #271 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #272 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #273 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #274 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #275 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #276 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #277 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #278 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #279 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #280 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #281 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #282 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #283 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #284 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #285 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #286 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #287 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #288 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #289 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #290 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #291 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #292 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #293 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #294 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #295 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #296 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #297 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #298 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #299 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #300 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #301 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #302 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #303 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #304 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #305 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #306 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #307 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #308 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #309 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #310 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #311 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #312 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #313 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #314 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #315 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #316 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #317 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #318 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #319 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #320 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #321 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #322 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #323 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #324 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #325 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #326 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #327 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #328 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #329 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #330 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #331 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #332 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #333 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #334 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #335 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #336 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #337 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #338 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #339 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #340 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #341 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #342 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #343 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #344 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #345 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #346 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #347 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #348 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #349 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #350 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #351 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #352 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #353 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #354 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #355 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #356 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #357 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #358 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #359 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #360 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #361 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #362 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #363 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #364 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #365 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #366 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #367 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #368 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #369 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #370 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #371 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #372 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #373 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #374 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #375 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #376 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #377 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #378 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #379 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #380 [Debug] > at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef) │
│ 00:00:35 #381 [Debug] > at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #382 [Debug] > at Spiral.PartEval.Main.term_scope''@574(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #383 [Debug] > at Spiral.PartEval.Main.term_scope'@578(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, │
│ System.Collections.Generic.Dictionary`2<TypedOp,Data>, E) │
│ 00:00:35 #384 [Debug] > at Spiral.PartEval.Main.term_scope@579(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E) │
│ 00:00:35 #385 [Debug] > at Spiral.PartEval.Main.peval(TopEnv, E) │
│ 00:00:35 #386 [Debug] > at │
│ Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, │
│ PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>, │
│ Microsoft.FSharp.Core.Unit) │
│ 00:00:35 #387 [Debug] > at │
│ Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String, │
│ System.String, SupervisorState, PrepassTopEnv) │
│ 00:00:35 #388 [Debug] > at │
│ Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv) │
│ 00:00:35 #389 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #390 [Debug] > at Hopac.Job+result@1000-1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #391 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #392 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #393 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #394 [Debug] > at Hopac.Job+result@1000-1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #395 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #396 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #397 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #398 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #399 [Debug] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #400 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #401 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #402 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #403 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #404 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #405 [Debug] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #406 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #407 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #408 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #409 [Debug] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #410 [Debug] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #411 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #412 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #413 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #414 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #415 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #416 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #417 [Debug] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #418 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #419 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #420 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #421 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #422 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #423 [Debug] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #424 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #425 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #426 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #427 [Debug] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #428 [Debug] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #429 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #430 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #431 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #432 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #433 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #434 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #435 [Debug] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #436 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #437 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #438 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #439 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #440 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #441 [Debug] > at Hopac.Core.ContMap`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #442 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #443 [Debug] > at Hopac.Promise`1+Fulfill[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #444 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #445 [Debug] > at Hopac.Core.JobThunk`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #446 [Debug] > at Hopac.Core.Job.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #447 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #448 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #449 [Debug] > at Hopac.Core.ContBind`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon) │
│ 00:00:35 #450 [Debug] > at Hopac.Core.Cont.Do[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon) │
│ 00:00:35 #451 [Debug] > at Hopac.Promise`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #452 [Debug] > at Hopac.Core.JobCont`2[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>) │
│ 00:00:35 #453 [Debug] > at Hopac.Core.JobWork`1[[System.__Canon, │
│ System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoWork(Hopac.Core.Worker ByRef) │
│ 00:00:35 #454 [Debug] > at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32) │
│ 00:00:35 #455 [Debug] > at Hopac.Platform.Scheduler+thread@30.Invoke() │
│ 00:00:35 #456 [Debug] > at │
│ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionCont │
│ ext, System.Threading.ContextCallback, System.Object) │
│ 00:00:40 #457 [Debug] executeAsync / exitCode: -1073741571 / proc.Id: 54292 │
│ / output.Length: 168452 │
│ 00:00:40 #458 [Debug] awaitCompiler / exitCode: -1073741571 / result: pwd: │
│ C:\home\git\polyglot\apps\spiral │
│ dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ Server bound to: http://localhost:13805 │
│ Building │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │
│ 575a5d4\main.spi │
│ [Stack overflow.] │
│ [Repeat 3 times:] │
│ [--------------------------------] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [--------------------------------] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at │
│ System.Runtime.CompilerServices.RuntimeHelpers.DispatchTailCalls(IntPtr, │
│ Void (IntPtr, Byte ByRef, │
│ System.Runtime.CompilerServices.PortableTailCallFrame*), Byte ByRef)] │
│ [ at Spiral.PartEval.Main.term@684-65(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term_scope''@574(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.term_scope'@578(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, │
│ System.Collections.Generic.Dictionary`2<TypedOp,Data>, E)] │
│ [ at Spiral.PartEval.Main.term_scope@579(TopEnv, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`2<RData[],Ty[ │
│ ]>>,System.Tuple`3<Microsoft.FSharp.Core.FSharpOption`1<TypedBind[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>,Microsoft.FSharp.Core.FSharpOpti │
│ on`1<System.String>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<E,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<System.Tuple`4<RData[],Ty[ │
│ ],Ty,Ty>>,Microsoft.FSharp.Core.FSharpOption`1<System.Tuple`2<Data,TypedBind │
│ []>>>,HashConsTable>>, │
│ System.Collections.Generic.Dictionary`2<T,System.Tuple`2<System.Collections. │
│ Generic.Dictionary`2<ConsedNode`1<Ty[ │
│ ]>,Microsoft.FSharp.Core.FSharpOption`1<Ty>>,HashConsTable>>, │
│ Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Core.FSharpFunc`2<Micr │
│ osoft.FSharp.Core.Unit,Microsoft.FSharp.Core.Unit>>, LangEnv, E)] │
│ [ at Spiral.PartEval.Main.peval(TopEnv, E)] │
│ [ at Spiral.Supervisor.file_build$cont@383(System.String, SupervisorState, │
│ PrepassTopEnv, Microsoft.FSharp.Core.FSharpOption`1<E>, │
│ Microsoft.FSharp.Core.Unit)] │
│ [ at Spiral.Supervisor.x2yJ@1-28(SupervisorErrorSources, System.String, │
│ System.String, SupervisorState, PrepassTopEnv)] │
│ [ at Spiral.Supervisor+x2yJ@380-41.Do(PrepassTopEnv)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Job+result@1000-1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.ContMap`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].Do(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Promise`1+Fulfill[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Core.JobThunk`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.Job.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Job`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.ContBind`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoCont(Hopac.Core.Worker ByRef, │
│ System.__Canon)] │
│ [ at Hopac.Core.Cont.Do[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]](Hopac.Core.Cont`1<System.__Canon>, │
│ Hopac.Core.Worker ByRef, System.__Canon)] │
│ [ at Hopac.Promise`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobCont`2[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[ │
│ System.__Canon, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoJob(Hopac.Core.Worker ByRef, │
│ Hopac.Core.Cont`1<System.__Canon>)] │
│ [ at Hopac.Core.JobWork`1[[System.__Canon, System.Private.CoreLib, │
│ Version=8.0.0.0, Culture=neutral, │
│ PublicKeyToken=7cec85d7bea7798e]].DoWork(Hopac.Core.Worker ByRef)] │
│ [ at Hopac.Core.Worker.Run(Hopac.Scheduler, Int32)] │
│ [ at Hopac.Platform.Scheduler+thread@30.Invoke()] │
│ [ at │
│ System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionCont │
│ ext, System.Threading.ContextCallback, System.Object)] │
│ 00:00:40 #459 [Critical] buildFile / error: System.AggregateException: One │
│ or more errors occurred. (One or more errors occurred. (A task was │
│ canceled.)) │
│ 00:00:40 #460 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2313-5640-4036-41eb3 │
│ 575a5d4 / filter: FileName, LastWrite │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getFileTokenRange │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getFileTokenRange port cancellationToken path = async {
let fullPath = path |> System.IO.Path.GetFullPath
let! code = fullPath |> FileSystem.readAllTextAsync
let lines = code |> String.split [[| '\n' |]]
let token, disposable = Threading.newDisposableToken cancellationToken
use _ = disposable
let! serverPort, _errors, ct, disposable = awaitCompiler port (Some token)
use _ = disposable
let fileOpenObj = {| FileOpen = {| uri = fullPath |> getFileUri; spiText =
code |} |}
let! _fileOpenResult = fileOpenObj |> sendObj serverPort
let fileTokenRangeObj =
{|
FileTokenRange =
{|
uri = fullPath |> getFileUri
range =
[[|
{| line = 0; character = 0 |}
{| line = lines.Length - 1; character =
lines.[[lines.Length - 1]].Length |}
|]]
|}
|}
let! fileTokenRangeResult =
fileTokenRangeObj
|> sendObj serverPort
|> Async.withCancellationToken ct
return fileTokenRangeResult |> Option.map FSharp.Json.Json.deserialize<int
array>
}
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## getCodeTokenRange │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let inline getCodeTokenRange cancellationToken code = async {
let! mainPath, disposable = persistCode code
use _ = disposable
let port = getCompilerPort ()
return! mainPath |> getFileTokenRange port cancellationToken
}
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () = ()"""
|> getCodeTokenRange None
|> Async.runWithTimeout 10000
|> Option.flatten
|> _equal (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0;
0; 2; 1; 4; 0; 0;
2; 1; 8; 0; 0; 1; 1; 8; 0 |]])
╭─[ 5.80s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:00:53 #461 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2314-1774-7480-7d60c │
│ b466671 / result: { CreationTime = 2023-10-08 11:14:17 PM │
│ Exists = true } │
│ 00:00:54 #462 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:00:54 #463 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:it@4-374> } │
│ 00:00:54 #464 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:00:54 #465 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:00:54 #466 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:00:55 #467 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:00:55 #468 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:00:55 #469 [Debug] > Server bound to: http://localhost:13805 │
│ 00:00:55 #470 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () = │
│ ()","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\202 │
│ 31008-2314-1774-7480-7d60cb466671\\main.spi"}} / result.Length: │
│ 00:00:55 #471 [Debug] sendJson / port: 13805 / json: │
│ {"FileTokenRange":{"range":[ │
│ {"character":0,"line":0},{"character":16,"line":0}],"uri":"file:///C:\\Users │
│ \\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20231008-2314-1774-7480-7d60cb4 │
│ 66671\\main.spi"}} / result.Length: Some(213) │
│ FSharpOption<Int32[]> │
│ Value: [ 0, 0, 3, 7, 0, 0, 4, 4, 0, 0, 0, 5, 1, 8, 0, 0, 1, 1, 8, 0, │
│ 0, 2, 1, 4, 0, 0, 2, 1, 8, 0, 0, 1, 1, 8, 0 ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
"""inl main () = 1i32"""
|> getCodeTokenRange None
|> Async.runWithTimeout 10000
|> Option.flatten
|> _equal (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0;
0; 2; 1; 4; 0; 0;
2; 1; 3; 0; 0; 1; 3; 12; 0 |]])
╭─[ 5.88s - stdout ]───────────────────────────────────────────────────────────╮
│ 00:01:00 #472 [Debug] createTempDirectory / tempFolder: │
│ C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2314-2389-8926-86ced │
│ 5859ce5 / result: { CreationTime = 2023-10-08 11:14:23 PM │
│ Exists = true } │
│ 00:01:00 #473 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 00:01:00 #474 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:it@4-741> } │
│ 00:01:00 #475 [Debug] > pwd: C:\home\git\polyglot\apps\spiral │
│ 00:01:00 #476 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 00:01:00 #477 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 00:01:00 #478 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 00:01:01 #479 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 00:01:01 #480 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 00:01:01 #481 [Debug] > Server bound to: http://localhost:13805 │
│ 00:01:01 #482 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl main () = │
│ 1i32","uri":"file:///C:\\Users\\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\2 │
│ 0231008-2314-2389-8926-86ced5859ce5\\main.spi"}} / result.Length: │
│ 00:01:01 #483 [Debug] sendJson / port: 13805 / json: │
│ {"FileTokenRange":{"range":[ │
│ {"character":0,"line":0},{"character":18,"line":0}],"uri":"file:///C:\\Users │
│ \\i574n\\AppData\\Local\\Temp\\!dotnet-repl\\20231008-2314-2389-8926-86ced58 │
│ 59ce5\\main.spi"}} / result.Length: Some(214) │
│ FSharpOption<Int32[]> │
│ Value: [ 0, 0, 3, 7, 0, 0, 4, 4, 0, 0, 0, 5, 1, 8, 0, 0, 1, 1, 8, 0, │
│ 0, 2, 1, 4, 0, 0, 2, 1, 3, 0, 0, 1, 3, 12, 0 ] │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## Arguments │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
[[<RequireQualifiedAccess>]]
type Arguments =
| BuildFile of string * string
| FileTokenRange of string * string
| ExecuteCommand of string
| Timeout of int
| Port of int
interface Argu.IArgParserTemplate with
member s.Usage =
match s with
| BuildFile _ -> nameof BuildFile
| FileTokenRange _ -> nameof FileTokenRange
| ExecuteCommand _ -> nameof ExecuteCommand
| Timeout _ -> nameof Timeout
| Port _ -> nameof Port
── markdown ────────────────────────────────────────────────────────────────────
╭──────────────────────────────────────────────────────────────────────────────╮
│ ## main │
╰──────────────────────────────────────────────────────────────────────────────╯
── fsharp ──────────────────────────────────────────────────────────────────────
let main args =
let argsMap = args |> Runtime.parseArgsMap<Arguments>
let buildFileActions =
argsMap
|> Map.tryFind (nameof Arguments.BuildFile)
|> Option.defaultValue [[]]
|> List.choose (function
| Arguments.BuildFile (inputPath, outputPath) -> Some (inputPath,
outputPath)
| _ -> None
)
let fileTokenRangeActions =
argsMap
|> Map.tryFind (nameof Arguments.FileTokenRange)
|> Option.defaultValue [[]]
|> List.choose (function
| Arguments.FileTokenRange (inputPath, outputPath) -> Some
(inputPath, outputPath)
| _ -> None
)
let executeCommandActions =
argsMap
|> Map.tryFind (nameof Arguments.ExecuteCommand)
|> Option.defaultValue [[]]
|> List.choose (function
| Arguments.ExecuteCommand command -> Some command
| _ -> None
)
let timeout =
match argsMap |> Map.tryFind (nameof Arguments.Timeout) with
| Some [[ Arguments.Timeout timeout ]] -> timeout
| _ -> 60000 * 5
let port =
match argsMap |> Map.tryFind (nameof Arguments.Port) with
| Some [[ Arguments.Port port ]] -> Some port
| _ -> None
async {
let! buildFileResult =
buildFileActions
|> List.map (fun (inputPath, outputPath) -> async {
let port = port |> Option.defaultWith getCompilerPort
let! outputCode, errors = inputPath |> buildFile timeout port
None
errors
|> List.map snd
|> List.iter (fun error ->
trace Critical (fun () -> $"main / error: {error}")
getLocals
)
match outputCode with
| Some outputCode ->
do! outputCode |> FileSystem.writeAllTextAsync outputPath
return 0
| None ->
return 1
})
|> Async.Sequential
let! fileTokenRangeResult =
fileTokenRangeActions
|> List.map (fun (inputPath, outputPath) -> async {
let port = port |> Option.defaultWith getCompilerPort
let! tokenRange = inputPath |> getFileTokenRange port None
match tokenRange with
| Some tokenRange ->
do! tokenRange |> FSharp.Json.Json.serialize |>
FileSystem.writeAllTextAsync outputPath
return 0
| None ->
return 1
})
|> Async.Sequential
let! executeCommandResult =
executeCommandActions
|> List.map (fun command -> async {
let port = port |> Option.defaultWith getCompilerPort
let localToken, disposable = Threading.newDisposableToken None
use _ = disposable
let! serverPort, _errors, compilerToken, disposable =
awaitCompiler port (Some localToken)
use _ = disposable
let! exitCode, result =
Runtime.executeWithOptionsAsync
{
Command = command
CancellationToken = Some compilerToken
WorkingDirectory = None
OnLine = None
}
trace Debug (fun () -> $"main / executeCommand / exitCode:
{exitCode}") getLocals
return exitCode
})
|> Async.Sequential
return
[[| buildFileResult; fileTokenRangeResult; executeCommandResult |]]
|> Array.collect id
|> Array.sum
}
|> Async.runWithTimeout timeout
|> Option.defaultValue 1
── fsharp ──────────────────────────────────────────────────────────────────────
//// test
let args =
System.Environment.GetEnvironmentVariable "ARGS"
|> Runtime.splitArgs
|> Seq.toArray
match args with
| [[||]] -> 0
| args -> if main args = 0 then 0 else failwith "main failed"
╭─[ 44.38ms - return value ]───────────────────────────────────────────────────╮
│ <div class="dni-plaintext"><pre>0</pre></div><style> │
│ .dni-code-hint { │
│ font-style: italic; │
│ overflow: hidden; │
│ white-space: nowrap; │
│ } │
│ .dni-treeview { │
│ white-space: nowrap; │
│ } │
│ .dni-treeview td { │
│ vertical-align: top; │
│ text-align: start; │
│ } │
│ details.dni-treeview { │
│ padding-left: 1em; │
│ } │
│ table td { │
│ text-align: start; │
│ } │
│ table tr { │
│ vertical-align: top; │
│ margin: 0em 0px; │
│ } │
│ table tr td pre │
│ { │
│ vertical-align: top !important; │
│ margin: 0em 0px !important; │
│ } │
│ table th { │
│ text-align: start; │
│ } │
│ </style> │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook Supervisor.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 812417 bytes to Supervisor.dib.html
23:14:49 #1 [Debug] writeDibCode / output: Fs / path: Supervisor.dib
23:14:49 #2 [Debug] parseDibCode / output: Fs / file: Supervisor.dib
23:14:50 #1 [Debug] persistCodeProject / packages: [Argu; FSharp.Control.AsyncSeq; FSharp.Json; ... ] / modules: [nbs/Common.fs; nbs/CommonFSharp.fs; nbs/Threading.fs; ... ] / path: C:\home\git\polyglot\apps\spiral / name: Supervisor / code.Length: 17904
23:14:50 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj
23:14:50 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\spiral\target"
CancellationToken = None
OnLine = None }
23:14:50 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
23:14:51 #5 [Debug] > Determining projects to restore...
23:14:52 #6 [Debug] > Restored C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj (in 560 ms).
23:14:52 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj]
23:15:07 #8 [Debug] > Supervisor -> C:\home\git\polyglot\apps\spiral\target\bin\release\net8.0\linux-x64\Supervisor.dll
23:15:09 #9 [Debug] > Supervisor -> C:\home\git\polyglot\apps\spiral\dist\
23:15:09 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 40304 / output.Length: 632
23:15:09 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64"
WorkingDirectory = Some "C:\home\git\polyglot\apps\spiral\target"
CancellationToken = None
OnLine = None }
23:15:09 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET
23:15:10 #13 [Debug] > Determining projects to restore...
23:15:11 #14 [Debug] > Restored C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj (in 479 ms).
23:15:11 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\spiral\target\Supervisor.fsproj]
23:15:25 #16 [Debug] > Supervisor -> C:\home\git\polyglot\apps\spiral\target\bin\release\net8.0\win-x64\Supervisor.dll
23:15:30 #17 [Debug] > Supervisor -> C:\home\git\polyglot\apps\spiral\dist\
23:15:30 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 46940 / output.Length: 630
23:15:32 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:15:32 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:15:32 #3 [Debug] > pwd: C:\home\git\polyglot\apps\spiral
23:15:32 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:15:33 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:15:33 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:15:33 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:15:33 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:15:33 #9 [Debug] > Server bound to: http://localhost:13805
23:15:33 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 Tasks.dib -Retries 3""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:15:36 #11 [Debug] >
23:15:36 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:15:36 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:15:36 #14 [Debug] > │ ## Tasks (Polyglot) │
23:15:36 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:15:36 #16 [Debug] >
23:15:36 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:15:36 #18 [Debug] > // // rust
23:15:36 #19 [Debug] >
23:15:36 #20 [Debug] > inl types () =
23:15:36 #21 [Debug] > global "[[<Fable.Core.Erase; Fable.Core.Emit(\"std::string::String\")>]]
23:15:36 #22 [Debug] > type std_string_String = class end"
23:15:36 #23 [Debug] > global "[[<Fable.Core.Erase; Fable.Core.Emit(\"&$0\")>]] type Ref<'T> =
23:15:36 #24 [Debug] > class end"
23:15:36 #25 [Debug] > global "[[<Fable.Core.Erase; Fable.Core.Emit(\"str\")>]] type Str = class
23:15:36 #26 [Debug] > end"
23:15:36 #27 [Debug] >
23:15:36 #28 [Debug] > inl emit_expr forall a t. (args : a) (code : string) : t =
23:15:36 #29 [Debug] > real
23:15:36 #30 [Debug] > $"Fable.Core.RustInterop.emitRustExpr !args !code" : t
23:15:36 #31 [Debug] >
23:15:36 #32 [Debug] >
23:15:36 #33 [Debug] > nominal std_string = $"std_string_String"
23:15:36 #34 [Debug] > nominal ref' t = $"Ref<`t>"
23:15:36 #35 [Debug] > nominal str = $"Str"
23:15:36 #36 [Debug] >
23:15:36 #37 [Debug] > inl format_debug forall t. (x : t) : std_string =
23:15:36 #38 [Debug] > real
23:15:36 #39 [Debug] > emit_expr `t `std_string x "format!(\"{:?}\", $0)"
23:15:36 #40 [Debug] >
23:15:36 #41 [Debug] > inl format_pretty forall t. (x : t) : std_string =
23:15:36 #42 [Debug] > real
23:15:36 #43 [Debug] > emit_expr `t `std_string x "format!(\"{:#?}\", $0)"
23:15:36 #44 [Debug] >
23:15:36 #45 [Debug] > inl to_std_string (str : ref' str) : std_string =
23:15:36 #46 [Debug] > // inl str = join str
23:15:36 #47 [Debug] > // // emit_expr () $"\"!str.to_string()\""
23:15:36 #48 [Debug] > // // emit_expr () $"\"alloc::string::to_string(!str)\""
23:15:36 #49 [Debug] > // emit_expr str "($0).to_string()"
23:15:36 #50 [Debug] > emit_expr str $"\"String::from(core::ops::Deref::deref($0))\""
23:15:36 #51 [Debug] > // emit_expr str $"\"String::from(*$0)\""
23:15:36 #52 [Debug] > // emit_expr () $"\"String::from(!str)\""
23:15:36 #53 [Debug] >
23:15:36 #54 [Debug] > inl format forall t. (x : t) : std_string =
23:15:36 #55 [Debug] > real
23:15:36 #56 [Debug] > inl result : std_string =
23:15:36 #57 [Debug] > typecase t with
23:15:36 #58 [Debug] > | string => to_std_string x
23:15:36 #59 [Debug] > | std_string => x
23:15:36 #60 [Debug] > | _ => format_pretty `t x
23:15:36 #61 [Debug] > result
23:15:36 #62 [Debug] >
23:15:36 #63 [Debug] > inl raw_string_literal (s : string) : ref' str =
23:15:36 #64 [Debug] > emit_expr () $"\"r#\\\"\" + !s + \"\\\"#\""
23:15:36 #65 [Debug] >
23:15:36 #66 [Debug] > inl (~#) (s : string) : ref' str =
23:15:36 #67 [Debug] > raw_string_literal s
23:15:40 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2315-3931-3106-3f3e0d941d87\main.spi
23:15:42 #69 [Debug] >
23:15:42 #70 [Debug] > ╭─[ 5.52s - stdout ]───────────────────────────────────────────────────────────╮
23:15:42 #71 [Debug] > │ │
23:15:42 #72 [Debug] > │ .fsx: │
23:15:42 #73 [Debug] > │ () │
23:15:42 #74 [Debug] > │ │
23:15:42 #75 [Debug] > │ │
23:15:42 #76 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:15:42 #77 [Debug] >
23:15:42 #78 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:15:42 #79 [Debug] > // // rust
23:15:42 #80 [Debug] > // // timeout=180000
23:15:42 #81 [Debug] >
23:15:42 #82 [Debug] > nominal task_name = string
23:15:42 #83 [Debug] >
23:15:42 #84 [Debug] > union manual_scheduling =
23:15:42 #85 [Debug] > | WithSuggestion
23:15:42 #86 [Debug] > | WithoutSuggestion
23:15:42 #87 [Debug] >
23:15:42 #88 [Debug] > union recurrency_offset =
23:15:42 #89 [Debug] > | Days : i32
23:15:42 #90 [Debug] > | Weeks : i32
23:15:42 #91 [Debug] > | Months : i32
23:15:42 #92 [Debug] >
23:15:42 #93 [Debug] > union day_of_week =
23:15:42 #94 [Debug] > | Sunday
23:15:42 #95 [Debug] > | Monday
23:15:42 #96 [Debug] > | Tuesday
23:15:42 #97 [Debug] > | Wednesday
23:15:42 #98 [Debug] > | Thursday
23:15:42 #99 [Debug] > | Friday
23:15:42 #100 [Debug] > | Saturday
23:15:42 #101 [Debug] >
23:15:42 #102 [Debug] > union month =
23:15:42 #103 [Debug] > | January
23:15:42 #104 [Debug] > | February
23:15:42 #105 [Debug] > | March
23:15:42 #106 [Debug] > | April
23:15:42 #107 [Debug] > | May
23:15:42 #108 [Debug] > | June
23:15:42 #109 [Debug] > | July
23:15:42 #110 [Debug] > | August
23:15:42 #111 [Debug] > | September
23:15:42 #112 [Debug] > | October
23:15:42 #113 [Debug] > | November
23:15:42 #114 [Debug] > | December
23:15:42 #115 [Debug] >
23:15:42 #116 [Debug] > nominal day = i32
23:15:42 #117 [Debug] > nominal year = i32
23:15:42 #118 [Debug] >
23:15:42 #119 [Debug] > union fixed_recurrency =
23:15:42 #120 [Debug] > | Weekly : day_of_week
23:15:42 #121 [Debug] > | Monthly : day
23:15:42 #122 [Debug] > | Yearly : day * month
23:15:42 #123 [Debug] >
23:15:42 #124 [Debug] > union recurrency =
23:15:42 #125 [Debug] > | Offset : recurrency_offset
23:15:42 #126 [Debug] > | Fixed : list fixed_recurrency
23:15:42 #127 [Debug] >
23:15:42 #128 [Debug] > union scheduling =
23:15:42 #129 [Debug] > | Manual : manual_scheduling
23:15:42 #130 [Debug] > | Recurrent : recurrency
23:15:42 #131 [Debug] >
23:15:42 #132 [Debug] > type task =
23:15:42 #133 [Debug] > {
23:15:42 #134 [Debug] > name : task_name
23:15:42 #135 [Debug] > scheduling : scheduling
23:15:42 #136 [Debug] > }
23:15:42 #137 [Debug] >
23:15:42 #138 [Debug] > type date =
23:15:42 #139 [Debug] > {
23:15:42 #140 [Debug] > year : year
23:15:42 #141 [Debug] > month : month
23:15:42 #142 [Debug] > day : day
23:15:42 #143 [Debug] > }
23:15:42 #144 [Debug] >
23:15:42 #145 [Debug] > union status =
23:15:42 #146 [Debug] > | Postponed : option ()
23:15:42 #147 [Debug] >
23:15:42 #148 [Debug] > type event =
23:15:42 #149 [Debug] > {
23:15:42 #150 [Debug] > date : date
23:15:42 #151 [Debug] > status : status
23:15:42 #152 [Debug] > }
23:15:42 #153 [Debug] >
23:15:42 #154 [Debug] > type task_template =
23:15:42 #155 [Debug] > {
23:15:42 #156 [Debug] > task : task
23:15:42 #157 [Debug] > events : list event
23:15:42 #158 [Debug] > }
23:15:42 #159 [Debug] >
23:15:42 #160 [Debug] > inl tasks : list task_template =
23:15:42 #161 [Debug] > [[
23:15:42 #162 [Debug] > {
23:15:42 #163 [Debug] > task =
23:15:42 #164 [Debug] > {
23:15:42 #165 [Debug] > name = task_name "01"
23:15:42 #166 [Debug] > scheduling = Manual WithSuggestion
23:15:42 #167 [Debug] > }
23:15:42 #168 [Debug] > events = [[]]
23:15:42 #169 [Debug] > }
23:15:42 #170 [Debug] > {
23:15:42 #171 [Debug] > task =
23:15:42 #172 [Debug] > {
23:15:42 #173 [Debug] > name = task_name "02"
23:15:42 #174 [Debug] > scheduling = Manual WithSuggestion
23:15:42 #175 [Debug] > }
23:15:42 #176 [Debug] > events = [[]]
23:15:42 #177 [Debug] > }
23:15:42 #178 [Debug] > {
23:15:42 #179 [Debug] > task =
23:15:42 #180 [Debug] > {
23:15:42 #181 [Debug] > name = task_name "03"
23:15:42 #182 [Debug] > scheduling = Manual WithSuggestion
23:15:42 #183 [Debug] > }
23:15:42 #184 [Debug] > events = [[]]
23:15:42 #185 [Debug] > }
23:15:42 #186 [Debug] > ]]
23:15:42 #187 [Debug] >
23:15:42 #188 [Debug] > types ()
23:15:42 #189 [Debug] >
23:15:42 #190 [Debug] > tasks |> format_pretty |> console.write_line
23:15:42 #191 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2315-4235-3566-3900c6613cee\main.spi
23:15:59 #192 [Debug] >
23:15:59 #193 [Debug] > ╭─[ 17.39s - return value ]────────────────────────────────────────────────────╮
23:15:59 #194 [Debug] > │ .rs output: │
23:15:59 #195 [Debug] > │ UH2_0( │
23:15:59 #196 [Debug] > │ UH0_1, │
23:15:59 #197 [Debug] > │ "01", │
23:15:59 #198 [Debug] > │ US4_0( │
23:15:59 #199 [Debug] > │ US3_0, │
23:15:59 #200 [Debug] > │ ), │
23:15:59 #201 [Debug] > │ UH2_0( │
23:15:59 #202 [Debug] > │ UH0_1, │
23:15:59 #203 [Debug] > │ "02", │
23:15:59 #204 [Debug] > │ US4_0( │
23:15:59 #205 [Debug] > │ US3_0, │
23:15:59 #206 [Debug] > │ ), │
23:15:59 #207 [Debug] > │ UH2_0( │
23:15:59 #208 [Debug] > │ UH0_1, │
23:15:59 #209 [Debug] > │ "03", │
23:15:59 #210 [Debug] > │ US4_0( │
23:15:59 #211 [Debug] > │ US3_0, │
23:15:59 #212 [Debug] > │ ), │
23:15:59 #213 [Debug] > │ UH2_1, │
23:15:59 #214 [Debug] > │ ), │
23:15:59 #215 [Debug] > │ ), │
23:15:59 #216 [Debug] > │ ) │
23:15:59 #217 [Debug] > │ │
23:15:59 #218 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:15:59 #219 [Debug] >
23:15:59 #220 [Debug] > ╭─[ 17.43s - stdout ]──────────────────────────────────────────────────────────╮
23:15:59 #221 [Debug] > │ │
23:15:59 #222 [Debug] > │ .fsx: │
23:15:59 #223 [Debug] > │ [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] type │
23:15:59 #224 [Debug] > │ std_string_String = class end │
23:15:59 #225 [Debug] > │ [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] type Ref<'T> = class end │
23:15:59 #226 [Debug] > │ [<Fable.Core.Erase; Fable.Core.Emit("str")>] type Str = class end │
23:15:59 #227 [Debug] > │ type [<Struct>] US0 = │
23:15:59 #228 [Debug] > │ | US0_0 │
23:15:59 #229 [Debug] > │ | US0_1 │
23:15:59 #230 [Debug] > │ | US0_2 │
23:15:59 #231 [Debug] > │ | US0_3 │
23:15:59 #232 [Debug] > │ | US0_4 │
23:15:59 #233 [Debug] > │ | US0_5 │
23:15:59 #234 [Debug] > │ | US0_6 │
23:15:59 #235 [Debug] > │ | US0_7 │
23:15:59 #236 [Debug] > │ | US0_8 │
23:15:59 #237 [Debug] > │ | US0_9 │
23:15:59 #238 [Debug] > │ | US0_10 │
23:15:59 #239 [Debug] > │ | US0_11 │
23:15:59 #240 [Debug] > │ and [<Struct>] US2 = │
23:15:59 #241 [Debug] > │ | US2_0 │
23:15:59 #242 [Debug] > │ | US2_1 │
23:15:59 #243 [Debug] > │ and [<Struct>] US1 = │
23:15:59 #244 [Debug] > │ | US1_0 of f0_0 : US2 │
23:15:59 #245 [Debug] > │ and UH0 = │
23:15:59 #246 [Debug] > │ | UH0_0 of int32 * US0 * int32 * US1 * UH0 │
23:15:59 #247 [Debug] > │ | UH0_1 │
23:15:59 #248 [Debug] > │ and [<Struct>] US3 = │
23:15:59 #249 [Debug] > │ | US3_0 │
23:15:59 #250 [Debug] > │ | US3_1 │
23:15:59 #251 [Debug] > │ and [<Struct>] US7 = │
23:15:59 #252 [Debug] > │ | US7_0 │
23:15:59 #253 [Debug] > │ | US7_1 │
23:15:59 #254 [Debug] > │ | US7_2 │
23:15:59 #255 [Debug] > │ | US7_3 │
23:15:59 #256 [Debug] > │ | US7_4 │
23:15:59 #257 [Debug] > │ | US7_5 │
23:15:59 #258 [Debug] > │ | US7_6 │
23:15:59 #259 [Debug] > │ and [<Struct>] US6 = │
23:15:59 #260 [Debug] > │ | US6_0 of f0_0 : int32 │
23:15:59 #261 [Debug] > │ | US6_1 of f1_0 : US7 │
23:15:59 #262 [Debug] > │ | US6_2 of f2_0 : int32 * f2_1 : US0 │
23:15:59 #263 [Debug] > │ and UH1 = │
23:15:59 #264 [Debug] > │ | UH1_0 of US6 * UH1 │
23:15:59 #265 [Debug] > │ | UH1_1 │
23:15:59 #266 [Debug] > │ and [<Struct>] US8 = │
23:15:59 #267 [Debug] > │ | US8_0 of f0_0 : int32 │
23:15:59 #268 [Debug] > │ | US8_1 of f1_0 : int32 │
23:15:59 #269 [Debug] > │ | US8_2 of f2_0 : int32 │
23:15:59 #270 [Debug] > │ and [<Struct>] US5 = │
23:15:59 #271 [Debug] > │ | US5_0 of f0_0 : UH1 │
23:15:59 #272 [Debug] > │ | US5_1 of f1_0 : US8 │
23:15:59 #273 [Debug] > │ and [<Struct>] US4 = │
23:15:59 #274 [Debug] > │ | US4_0 of f0_0 : US3 │
23:15:59 #275 [Debug] > │ | US4_1 of f1_0 : US5 │
23:15:59 #276 [Debug] > │ and UH2 = │
23:15:59 #277 [Debug] > │ | UH2_0 of UH0 * string * US4 * UH2 │
23:15:59 #278 [Debug] > │ | UH2_1 │
23:15:59 #279 [Debug] > │ let rec method0 () : unit = │
23:15:59 #280 [Debug] > │ let v0 : UH0 = UH0_1 │
23:15:59 #281 [Debug] > │ let v1 : string = "01" │
23:15:59 #282 [Debug] > │ let v2 : US3 = US3_0 │
23:15:59 #283 [Debug] > │ let v3 : US4 = US4_0(v2) │
23:15:59 #284 [Debug] > │ let v4 : UH0 = UH0_1 │
23:15:59 #285 [Debug] > │ let v5 : string = "02" │
23:15:59 #286 [Debug] > │ let v6 : US3 = US3_0 │
23:15:59 #287 [Debug] > │ let v7 : US4 = US4_0(v6) │
23:15:59 #288 [Debug] > │ let v8 : UH0 = UH0_1 │
23:15:59 #289 [Debug] > │ let v9 : string = "03" │
23:15:59 #290 [Debug] > │ let v10 : US3 = US3_0 │
23:15:59 #291 [Debug] > │ let v11 : US4 = US4_0(v10) │
23:15:59 #292 [Debug] > │ let v12 : UH2 = UH2_1 │
23:15:59 #293 [Debug] > │ let v13 : UH2 = UH2_0(v8, v9, v11, v12) │
23:15:59 #294 [Debug] > │ let v14 : UH2 = UH2_0(v4, v5, v7, v13) │
23:15:59 #295 [Debug] > │ let v15 : UH2 = UH2_0(v0, v1, v3, v14) │
23:15:59 #296 [Debug] > │ let v16 : string = "format!(\"{:#?}\", $0)" │
23:15:59 #297 [Debug] > │ let v17 : std_string_String = Fable.Core.RustInterop.emitRustExpr v15 │
23:15:59 #298 [Debug] > │ v16 │
23:15:59 #299 [Debug] > │ System.Console.WriteLine v17 │
23:15:59 #300 [Debug] > │ () │
23:15:59 #301 [Debug] > │ method0() │
23:15:59 #302 [Debug] > │ │
23:15:59 #303 [Debug] > │ .rs: │
23:15:59 #304 [Debug] > │ #![allow(dead_code,)] │
23:15:59 #305 [Debug] > │ #![allow(non_camel_case_types,)] │
23:15:59 #306 [Debug] > │ #![allow(non_snake_case,)] │
23:15:59 #307 [Debug] > │ #![allow(non_upper_case_globals,)] │
23:15:59 #308 [Debug] > │ #![allow(unreachable_code,)] │
23:15:59 #309 [Debug] > │ #![allow(unused_attributes,)] │
23:15:59 #310 [Debug] > │ #![allow(unused_imports,)] │
23:15:59 #311 [Debug] > │ #![allow(unused_macros,)] │
23:15:59 #312 [Debug] > │ #![allow(unused_parens,)] │
23:15:59 #313 [Debug] > │ #![allow(unused_variables,)] │
23:15:59 #314 [Debug] > │ pub mod │
23:15:59 #315 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 { │
23:15:59 #316 [Debug] > │ use super::*; │
23:15:59 #317 [Debug] > │ use fable_library_rust::Native_::Any; │
23:15:59 #318 [Debug] > │ use fable_library_rust::Native_::LrcPtr; │
23:15:59 #319 [Debug] > │ use fable_library_rust::Native_::on_startup; │
23:15:59 #320 [Debug] > │ use fable_library_rust::String_::string; │
23:15:59 #321 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #322 [Debug] > │ pub enum US0 { │
23:15:59 #323 [Debug] > │ US0_0, │
23:15:59 #324 [Debug] > │ US0_1, │
23:15:59 #325 [Debug] > │ US0_2, │
23:15:59 #326 [Debug] > │ US0_3, │
23:15:59 #327 [Debug] > │ US0_4, │
23:15:59 #328 [Debug] > │ US0_5, │
23:15:59 #329 [Debug] > │ US0_6, │
23:15:59 #330 [Debug] > │ US0_7, │
23:15:59 #331 [Debug] > │ US0_8, │
23:15:59 #332 [Debug] > │ US0_9, │
23:15:59 #333 [Debug] > │ US0_10, │
23:15:59 #334 [Debug] > │ US0_11, │
23:15:59 #335 [Debug] > │ } │
23:15:59 #336 [Debug] > │ impl core::fmt::Display for │
23:15:59 #337 [Debug] > │ │
23:15:59 #338 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US0 │
23:15:59 #339 [Debug] > │ { │
23:15:59 #340 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #341 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #342 [Debug] > │ } │
23:15:59 #343 [Debug] > │ } │
23:15:59 #344 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #345 [Debug] > │ pub enum US2 { US2_0, US2_1, } │
23:15:59 #346 [Debug] > │ impl core::fmt::Display for │
23:15:59 #347 [Debug] > │ │
23:15:59 #348 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US2 │
23:15:59 #349 [Debug] > │ { │
23:15:59 #350 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #351 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #352 [Debug] > │ } │
23:15:59 #353 [Debug] > │ } │
23:15:59 #354 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #355 [Debug] > │ pub enum US1 { │
23:15:59 #356 [Debug] > │ │
23:15:59 #357 [Debug] > │ US1_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #358 [Debug] > │ :US2), │
23:15:59 #359 [Debug] > │ } │
23:15:59 #360 [Debug] > │ impl core::fmt::Display for │
23:15:59 #361 [Debug] > │ │
23:15:59 #362 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US1 │
23:15:59 #363 [Debug] > │ { │
23:15:59 #364 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #365 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #366 [Debug] > │ } │
23:15:59 #367 [Debug] > │ } │
23:15:59 #368 [Debug] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #369 [Debug] > │ pub enum UH0 { │
23:15:59 #370 [Debug] > │ UH0_0(i32, │
23:15:59 #371 [Debug] > │ │
23:15:59 #372 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US0, │
23:15:59 #373 [Debug] > │ i32, │
23:15:59 #374 [Debug] > │ │
23:15:59 #375 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US1, │
23:15:59 #376 [Debug] > │ │
23:15:59 #377 [Debug] > │ LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 │
23:15:59 #378 [Debug] > │ ::UH0>), │
23:15:59 #379 [Debug] > │ UH0_1, │
23:15:59 #380 [Debug] > │ } │
23:15:59 #381 [Debug] > │ impl core::fmt::Display for │
23:15:59 #382 [Debug] > │ │
23:15:59 #383 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::UH0 │
23:15:59 #384 [Debug] > │ { │
23:15:59 #385 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #386 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #387 [Debug] > │ } │
23:15:59 #388 [Debug] > │ } │
23:15:59 #389 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #390 [Debug] > │ pub enum US3 { US3_0, US3_1, } │
23:15:59 #391 [Debug] > │ impl core::fmt::Display for │
23:15:59 #392 [Debug] > │ │
23:15:59 #393 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US3 │
23:15:59 #394 [Debug] > │ { │
23:15:59 #395 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #396 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #397 [Debug] > │ } │
23:15:59 #398 [Debug] > │ } │
23:15:59 #399 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #400 [Debug] > │ pub enum US7 { US7_0, US7_1, US7_2, US7_3, US7_4, US7_5, US7_6, } │
23:15:59 #401 [Debug] > │ impl core::fmt::Display for │
23:15:59 #402 [Debug] > │ │
23:15:59 #403 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US7 │
23:15:59 #404 [Debug] > │ { │
23:15:59 #405 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #406 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #407 [Debug] > │ } │
23:15:59 #408 [Debug] > │ } │
23:15:59 #409 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #410 [Debug] > │ pub enum US6 { │
23:15:59 #411 [Debug] > │ US6_0(i32), │
23:15:59 #412 [Debug] > │ │
23:15:59 #413 [Debug] > │ US6_1(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #414 [Debug] > │ :US7), │
23:15:59 #415 [Debug] > │ US6_2(i32, │
23:15:59 #416 [Debug] > │ │
23:15:59 #417 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US0), │
23:15:59 #418 [Debug] > │ } │
23:15:59 #419 [Debug] > │ impl core::fmt::Display for │
23:15:59 #420 [Debug] > │ │
23:15:59 #421 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US6 │
23:15:59 #422 [Debug] > │ { │
23:15:59 #423 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #424 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #425 [Debug] > │ } │
23:15:59 #426 [Debug] > │ } │
23:15:59 #427 [Debug] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #428 [Debug] > │ pub enum UH1 { │
23:15:59 #429 [Debug] > │ │
23:15:59 #430 [Debug] > │ UH1_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #431 [Debug] > │ :US6, │
23:15:59 #432 [Debug] > │ │
23:15:59 #433 [Debug] > │ LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 │
23:15:59 #434 [Debug] > │ ::UH1>), │
23:15:59 #435 [Debug] > │ UH1_1, │
23:15:59 #436 [Debug] > │ } │
23:15:59 #437 [Debug] > │ impl core::fmt::Display for │
23:15:59 #438 [Debug] > │ │
23:15:59 #439 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::UH1 │
23:15:59 #440 [Debug] > │ { │
23:15:59 #441 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #442 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #443 [Debug] > │ } │
23:15:59 #444 [Debug] > │ } │
23:15:59 #445 [Debug] > │ #[derive(Clone, Copy, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #446 [Debug] > │ pub enum US8 { US8_0(i32), US8_1(i32), US8_2(i32), } │
23:15:59 #447 [Debug] > │ impl core::fmt::Display for │
23:15:59 #448 [Debug] > │ │
23:15:59 #449 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US8 │
23:15:59 #450 [Debug] > │ { │
23:15:59 #451 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #452 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #453 [Debug] > │ } │
23:15:59 #454 [Debug] > │ } │
23:15:59 #455 [Debug] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #456 [Debug] > │ pub enum US5 { │
23:15:59 #457 [Debug] > │ │
23:15:59 #458 [Debug] > │ US5_0(LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035 │
23:15:59 #459 [Debug] > │ be2596::UH1>), │
23:15:59 #460 [Debug] > │ │
23:15:59 #461 [Debug] > │ US5_1(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #462 [Debug] > │ :US8), │
23:15:59 #463 [Debug] > │ } │
23:15:59 #464 [Debug] > │ impl core::fmt::Display for │
23:15:59 #465 [Debug] > │ │
23:15:59 #466 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US5 │
23:15:59 #467 [Debug] > │ { │
23:15:59 #468 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #469 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #470 [Debug] > │ } │
23:15:59 #471 [Debug] > │ } │
23:15:59 #472 [Debug] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #473 [Debug] > │ pub enum US4 { │
23:15:59 #474 [Debug] > │ │
23:15:59 #475 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #476 [Debug] > │ :US3), │
23:15:59 #477 [Debug] > │ │
23:15:59 #478 [Debug] > │ US4_1(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #479 [Debug] > │ :US5), │
23:15:59 #480 [Debug] > │ } │
23:15:59 #481 [Debug] > │ impl core::fmt::Display for │
23:15:59 #482 [Debug] > │ │
23:15:59 #483 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4 │
23:15:59 #484 [Debug] > │ { │
23:15:59 #485 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #486 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #487 [Debug] > │ } │
23:15:59 #488 [Debug] > │ } │
23:15:59 #489 [Debug] > │ #[derive(Clone, Debug, PartialEq, PartialOrd, Hash, Eq, Ord,)] │
23:15:59 #490 [Debug] > │ pub enum UH2 { │
23:15:59 #491 [Debug] > │ │
23:15:59 #492 [Debug] > │ UH2_0(LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035 │
23:15:59 #493 [Debug] > │ be2596::UH0>, │
23:15:59 #494 [Debug] > │ string, │
23:15:59 #495 [Debug] > │ │
23:15:59 #496 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4, │
23:15:59 #497 [Debug] > │ │
23:15:59 #498 [Debug] > │ LrcPtr<Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596 │
23:15:59 #499 [Debug] > │ ::UH2>), │
23:15:59 #500 [Debug] > │ UH2_1, │
23:15:59 #501 [Debug] > │ } │
23:15:59 #502 [Debug] > │ impl core::fmt::Display for │
23:15:59 #503 [Debug] > │ │
23:15:59 #504 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::UH2 │
23:15:59 #505 [Debug] > │ { │
23:15:59 #506 [Debug] > │ fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result { │
23:15:59 #507 [Debug] > │ write!(f, "{}", core::any::type_name::<Self>()) │
23:15:59 #508 [Debug] > │ } │
23:15:59 #509 [Debug] > │ } │
23:15:59 #510 [Debug] > │ pub fn method0() { │
23:15:59 #511 [Debug] > │ let v17: std::string::String = │
23:15:59 #512 [Debug] > │ format!("{:#?}", │
23:15:59 #513 [Debug] > │ &LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035 │
23:15:59 #514 [Debug] > │ be2596::UH2::UH2_0(LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c │
23:15:59 #515 [Debug] > │ 660e3767a68d3ac035be2596::UH0::UH0_1), │
23:15:59 #516 [Debug] > │ │
23:15:59 #517 [Debug] > │ string("01"), │
23:15:59 #518 [Debug] > │ │
23:15:59 #519 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4:: │
23:15:59 #520 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #521 [Debug] > │ :US3::US3_0), │
23:15:59 #522 [Debug] > │ │
23:15:59 #523 [Debug] > │ LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │
23:15:59 #524 [Debug] > │ e2596::UH2::UH2_0(LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c6 │
23:15:59 #525 [Debug] > │ 60e3767a68d3ac035be2596::UH0::UH0_1), │
23:15:59 #526 [Debug] > │ │
23:15:59 #527 [Debug] > │ │
23:15:59 #528 [Debug] > │ string("02"), │
23:15:59 #529 [Debug] > │ │
23:15:59 #530 [Debug] > │ │
23:15:59 #531 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4:: │
23:15:59 #532 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #533 [Debug] > │ :US3::US3_0), │
23:15:59 #534 [Debug] > │ │
23:15:59 #535 [Debug] > │ │
23:15:59 #536 [Debug] > │ LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │
23:15:59 #537 [Debug] > │ e2596::UH2::UH2_0(LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c6 │
23:15:59 #538 [Debug] > │ 60e3767a68d3ac035be2596::UH0::UH0_1), │
23:15:59 #539 [Debug] > │ │
23:15:59 #540 [Debug] > │ │
23:15:59 #541 [Debug] > │ string("03"), │
23:15:59 #542 [Debug] > │ │
23:15:59 #543 [Debug] > │ │
23:15:59 #544 [Debug] > │ │
23:15:59 #545 [Debug] > │ Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596::US4:: │
23:15:59 #546 [Debug] > │ US4_0(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035be2596: │
23:15:59 #547 [Debug] > │ :US3::US3_0), │
23:15:59 #548 [Debug] > │ │
23:15:59 #549 [Debug] > │ │
23:15:59 #550 [Debug] > │ │
23:15:59 #551 [Debug] > │ LrcPtr::new(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │
23:15:59 #552 [Debug] > │ e2596::UH2::UH2_1)))))))); │
23:15:59 #553 [Debug] > │ println!("{0}", &v17,); │
23:15:59 #554 [Debug] > │ () │
23:15:59 #555 [Debug] > │ } │
23:15:59 #556 [Debug] > │ │
23:15:59 #557 [Debug] > │ on_startup!(Repl_84983367c2ec36fa80ca015c041e53cc0c481e2c660e3767a68d3ac035b │
23:15:59 #558 [Debug] > │ e2596::method0()); │
23:15:59 #559 [Debug] > │ } │
23:15:59 #560 [Debug] > │ │
23:15:59 #561 [Debug] > │ │
23:15:59 #562 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:15:59 #563 [Debug] >
23:15:59 #564 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:15:59 #565 [Debug] > // // test
23:15:59 #566 [Debug] >
23:15:59 #567 [Debug] > ()
23:16:00 #568 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2315-5997-9704-9c5b61d3d6ae\main.spi
23:16:00 #569 [Debug] >
23:16:00 #570 [Debug] > ╭─[ 529.12ms - stdout ]────────────────────────────────────────────────────────╮
23:16:00 #571 [Debug] > │ let rec method0 () : unit = │
23:16:00 #572 [Debug] > │ () │
23:16:00 #573 [Debug] > │ method0() │
23:16:00 #574 [Debug] > │ │
23:16:00 #575 [Debug] > │ │
23:16:00 #576 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:00 #577 [Debug] >
23:16:00 #578 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:00 #579 [Debug] > // // test
23:16:00 #580 [Debug] >
23:16:00 #581 [Debug] > ()
23:16:00 #582 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0050-5019-5386c0881a3d\main.spi
23:16:00 #583 [Debug] >
23:16:00 #584 [Debug] > ╭─[ 156.45ms - stdout ]────────────────────────────────────────────────────────╮
23:16:00 #585 [Debug] > │ let rec method0 () : unit = │
23:16:00 #586 [Debug] > │ () │
23:16:00 #587 [Debug] > │ method0() │
23:16:00 #588 [Debug] > │ │
23:16:00 #589 [Debug] > │ │
23:16:00 #590 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:00 #591 [Debug] >
23:16:00 #592 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:00 #593 [Debug] > // // test
23:16:00 #594 [Debug] >
23:16:00 #595 [Debug] > ()
23:16:00 #596 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0066-6651-66f8e1e2ffc1\main.spi
23:16:00 #597 [Debug] >
23:16:00 #598 [Debug] > ╭─[ 158.95ms - stdout ]────────────────────────────────────────────────────────╮
23:16:00 #599 [Debug] > │ let rec method0 () : unit = │
23:16:00 #600 [Debug] > │ () │
23:16:00 #601 [Debug] > │ method0() │
23:16:00 #602 [Debug] > │ │
23:16:00 #603 [Debug] > │ │
23:16:00 #604 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:00 #605 [Debug] >
23:16:00 #606 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:00 #607 [Debug] > // // test
23:16:00 #608 [Debug] >
23:16:00 #609 [Debug] > ()
23:16:00 #610 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0083-8328-8fa4c573a2c0\main.spi
23:16:00 #611 [Debug] >
23:16:00 #612 [Debug] > ╭─[ 153.62ms - stdout ]────────────────────────────────────────────────────────╮
23:16:00 #613 [Debug] > │ let rec method0 () : unit = │
23:16:00 #614 [Debug] > │ () │
23:16:00 #615 [Debug] > │ method0() │
23:16:00 #616 [Debug] > │ │
23:16:00 #617 [Debug] > │ │
23:16:00 #618 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:00 #619 [Debug] >
23:16:00 #620 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:00 #621 [Debug] > // // test
23:16:00 #622 [Debug] >
23:16:00 #623 [Debug] > ()
23:16:01 #624 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0098-9859-9a7e60cc5295\main.spi
23:16:01 #625 [Debug] >
23:16:01 #626 [Debug] > ╭─[ 152.87ms - stdout ]────────────────────────────────────────────────────────╮
23:16:01 #627 [Debug] > │ let rec method0 () : unit = │
23:16:01 #628 [Debug] > │ () │
23:16:01 #629 [Debug] > │ method0() │
23:16:01 #630 [Debug] > │ │
23:16:01 #631 [Debug] > │ │
23:16:01 #632 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:01 #633 [Debug] >
23:16:01 #634 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:01 #635 [Debug] > // // test
23:16:01 #636 [Debug] >
23:16:01 #637 [Debug] > ()
23:16:01 #638 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-0114-1423-1dfca51afaa5\main.spi
23:16:01 #639 [Debug] >
23:16:01 #640 [Debug] > ╭─[ 138.38ms - stdout ]────────────────────────────────────────────────────────╮
23:16:01 #641 [Debug] > │ let rec method0 () : unit = │
23:16:01 #642 [Debug] > │ () │
23:16:01 #643 [Debug] > │ method0() │
23:16:01 #644 [Debug] > │ │
23:16:01 #645 [Debug] > │ │
23:16:01 #646 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:03 #647 [Debug] > [NbConvertApp] Converting notebook Tasks.dib.ipynb to html
23:16:03 #648 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:16:03 #649 [Debug] > validate(nb)
23:16:04 #650 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:16:04 #651 [Debug] > return _pygments_highlight(
23:16:04 #652 [Debug] > [NbConvertApp] Writing 305431 bytes to Tasks.dib.html
23:16:06 #653 [Debug] executeAsync / exitCode: 0 / proc.Id: 38988 / output.Length: 39113
23:16:06 #654 [Debug] main / executeCommand / exitCode: 0
In [ ]:
{ . "$ScriptDir/../lib/spiral/build.ps1" } | Invoke-Block
23:16:08 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:16:08 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:16:08 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:16:08 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:16:08 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:16:08 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:16:09 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:16:09 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:16:09 #9 [Debug] > Server bound to: http://localhost:13805
23:16:09 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 testing.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:16:12 #11 [Debug] >
23:16:12 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:12 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:12 #14 [Debug] > │ # testing │
23:16:12 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:12 #16 [Debug] >
23:16:12 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:12 #18 [Debug] > inl _almost_equal b a =
23:16:12 #19 [Debug] > assert (abs (b - a) < 0.00000001) $"$\"_almost_equal / actual: %A{!a}
23:16:12 #20 [Debug] > expected: %A{!b}\""
23:16:12 #21 [Debug] >
23:16:12 #22 [Debug] > inl _equal b a =
23:16:12 #23 [Debug] > assert (a = b) $"$\"_equal / actual: %A{!a} / expected: %A{!b}\""
23:16:12 #24 [Debug] >
23:16:12 #25 [Debug] > inl _is_less_than b a =
23:16:12 #26 [Debug] > assert (b < a) $"$\"_is_less_than / actual: %A{!a} / expected: %A{!b}\""
23:16:12 #27 [Debug] >
23:16:12 #28 [Debug] > inl _is_less_than_or_equal b a =
23:16:12 #29 [Debug] > assert (b <= a) $"$\"_is_less_than_or_equal / actual: %A{!a} / expected:
23:16:12 #30 [Debug] > %A{!b}\""
23:16:12 #31 [Debug] >
23:16:12 #32 [Debug] > inl _throws (fn : () -> ()) : option string =
23:16:12 #33 [Debug] > inl none = None : option string
23:16:12 #34 [Debug] > inl some (s : string) = Some s
23:16:12 #35 [Debug] > $"try !fn (); !none with ex -> !some ex.Message"
23:16:16 #36 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-1531-3118-369ff8417520\main.spi
23:16:19 #37 [Debug] >
23:16:19 #38 [Debug] > ╭─[ 6.90s - stdout ]───────────────────────────────────────────────────────────╮
23:16:19 #39 [Debug] > │ () │
23:16:19 #40 [Debug] > │ │
23:16:19 #41 [Debug] > │ │
23:16:19 #42 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:19 #43 [Debug] >
23:16:19 #44 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:19 #45 [Debug] > inl print_and_return x =
23:16:19 #46 [Debug] > $"printfn $\"print_and_return / x: {!x}\""
23:16:19 #47 [Debug] > x
23:16:19 #48 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-1955-5535-59ca530ced38\main.spi
23:16:19 #49 [Debug] >
23:16:19 #50 [Debug] > ╭─[ 148.51ms - stdout ]────────────────────────────────────────────────────────╮
23:16:19 #51 [Debug] > │ () │
23:16:19 #52 [Debug] > │ │
23:16:19 #53 [Debug] > │ │
23:16:19 #54 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:21 #55 [Debug] > [NbConvertApp] Converting notebook testing.dib.ipynb to html
23:16:21 #56 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:16:21 #57 [Debug] > validate(nb)
23:16:22 #58 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:16:22 #59 [Debug] > return _pygments_highlight(
23:16:22 #60 [Debug] > [NbConvertApp] Writing 274807 bytes to testing.dib.html
23:16:23 #61 [Debug] executeAsync / exitCode: 0 / proc.Id: 80636 / output.Length: 2726
23:16:23 #62 [Debug] main / executeCommand / exitCode: 0
23:16:24 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:16:24 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:16:24 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:16:24 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:16:24 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:16:24 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:16:25 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:16:25 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:16:25 #9 [Debug] > Server bound to: http://localhost:13805
23:16:25 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 common.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:16:28 #11 [Debug] >
23:16:28 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:28 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:28 #14 [Debug] > │ # common │
23:16:28 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:28 #16 [Debug] >
23:16:28 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:28 #18 [Debug] > // // test
23:16:28 #19 [Debug] >
23:16:28 #20 [Debug] > open testing
23:16:31 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3079-7963-7d8089280400\main.spi
23:16:33 #22 [Debug] >
23:16:33 #23 [Debug] > ╭─[ 5.60s - stdout ]───────────────────────────────────────────────────────────╮
23:16:33 #24 [Debug] > │ () │
23:16:33 #25 [Debug] > │ │
23:16:33 #26 [Debug] > │ │
23:16:33 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:33 #28 [Debug] >
23:16:33 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:33 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:33 #31 [Debug] > │ ## pair │
23:16:33 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:33 #33 [Debug] >
23:16:33 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:33 #35 [Debug] > inl pair x y =
23:16:33 #36 [Debug] > x, y
23:16:33 #37 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3385-8509-8b84bcdbf234\main.spi
23:16:34 #38 [Debug] >
23:16:34 #39 [Debug] > ╭─[ 207.27ms - stdout ]────────────────────────────────────────────────────────╮
23:16:34 #40 [Debug] > │ () │
23:16:34 #41 [Debug] > │ │
23:16:34 #42 [Debug] > │ │
23:16:34 #43 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:34 #44 [Debug] >
23:16:34 #45 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:34 #46 [Debug] > // // test
23:16:34 #47 [Debug] >
23:16:34 #48 [Debug] > pair 1i32 2i32
23:16:34 #49 [Debug] > |> _equal (1, 2)
23:16:34 #50 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3405-0593-0a0dd456e704\main.spi
23:16:34 #51 [Debug] >
23:16:34 #52 [Debug] > ╭─[ 711.57ms - stdout ]────────────────────────────────────────────────────────╮
23:16:34 #53 [Debug] > │ let rec method0 () : unit = │
23:16:34 #54 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (1, 2)} / expected: │
23:16:34 #55 [Debug] > │ %A{struct (1, 2)}" │
23:16:34 #56 [Debug] > │ () │
23:16:34 #57 [Debug] > │ method0() │
23:16:34 #58 [Debug] > │ │
23:16:34 #59 [Debug] > │ │
23:16:34 #60 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:34 #61 [Debug] >
23:16:34 #62 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:34 #63 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:34 #64 [Debug] > │ ## ||> │
23:16:34 #65 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:34 #66 [Debug] >
23:16:34 #67 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:34 #68 [Debug] > inl (||>) (arg1, arg2) fn = arg2 |> fn arg1
23:16:34 #69 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3477-7768-7bb3c62669aa\main.spi
23:16:34 #70 [Debug] >
23:16:34 #71 [Debug] > ╭─[ 136.14ms - stdout ]────────────────────────────────────────────────────────╮
23:16:34 #72 [Debug] > │ () │
23:16:34 #73 [Debug] > │ │
23:16:34 #74 [Debug] > │ │
23:16:34 #75 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:34 #76 [Debug] >
23:16:34 #77 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:34 #78 [Debug] > // // test
23:16:34 #79 [Debug] >
23:16:34 #80 [Debug] > (3i32, 2i32)
23:16:34 #81 [Debug] > ||> fun a b => a - b
23:16:34 #82 [Debug] > |> _equal 1
23:16:35 #83 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3491-9179-97b755545655\main.spi
23:16:35 #84 [Debug] >
23:16:35 #85 [Debug] > ╭─[ 149.00ms - stdout ]────────────────────────────────────────────────────────╮
23:16:35 #86 [Debug] > │ let rec method0 () : unit = │
23:16:35 #87 [Debug] > │ let v0 : string = $"_equal / actual: %A{1} / expected: %A{1}" │
23:16:35 #88 [Debug] > │ () │
23:16:35 #89 [Debug] > │ method0() │
23:16:35 #90 [Debug] > │ │
23:16:35 #91 [Debug] > │ │
23:16:35 #92 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:35 #93 [Debug] >
23:16:35 #94 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:35 #95 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:35 #96 [Debug] > │ ## flip │
23:16:35 #97 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:35 #98 [Debug] >
23:16:35 #99 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:35 #100 [Debug] > inl flip fn a b =
23:16:35 #101 [Debug] > fn b a
23:16:35 #102 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3507-0745-04f5be6fed3c\main.spi
23:16:35 #103 [Debug] >
23:16:35 #104 [Debug] > ╭─[ 153.25ms - stdout ]────────────────────────────────────────────────────────╮
23:16:35 #105 [Debug] > │ () │
23:16:35 #106 [Debug] > │ │
23:16:35 #107 [Debug] > │ │
23:16:35 #108 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:35 #109 [Debug] >
23:16:35 #110 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:35 #111 [Debug] > // // test
23:16:35 #112 [Debug] >
23:16:35 #113 [Debug] > (1i32, 2i32)
23:16:35 #114 [Debug] > ||> flip pair
23:16:35 #115 [Debug] > |> _equal (2, 1)
23:16:35 #116 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-3522-2295-251be9feaecc\main.spi
23:16:35 #117 [Debug] >
23:16:35 #118 [Debug] > ╭─[ 128.36ms - stdout ]────────────────────────────────────────────────────────╮
23:16:35 #119 [Debug] > │ let rec method0 () : unit = │
23:16:35 #120 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (2, 1)} / expected: │
23:16:35 #121 [Debug] > │ %A{struct (2, 1)}" │
23:16:35 #122 [Debug] > │ () │
23:16:35 #123 [Debug] > │ method0() │
23:16:35 #124 [Debug] > │ │
23:16:35 #125 [Debug] > │ │
23:16:35 #126 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:37 #127 [Debug] > [NbConvertApp] Converting notebook common.dib.ipynb to html
23:16:37 #128 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:16:37 #129 [Debug] > validate(nb)
23:16:38 #130 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:16:38 #131 [Debug] > return _pygments_highlight(
23:16:38 #132 [Debug] > [NbConvertApp] Writing 280115 bytes to common.dib.html
23:16:39 #133 [Debug] executeAsync / exitCode: 0 / proc.Id: 16892 / output.Length: 6628
23:16:39 #134 [Debug] main / executeCommand / exitCode: 0
23:16:39 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:16:39 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:16:40 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:16:40 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:16:40 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:16:40 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:16:41 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:16:41 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:16:41 #9 [Debug] > Server bound to: http://localhost:13805
23:16:41 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 console.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:16:43 #11 [Debug] >
23:16:43 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:43 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:43 #14 [Debug] > │ # console │
23:16:43 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:43 #16 [Debug] >
23:16:43 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:43 #18 [Debug] > // // test
23:16:43 #19 [Debug] >
23:16:43 #20 [Debug] > open testing
23:16:47 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-4630-3012-35ef0303c3e0\main.spi
23:16:49 #22 [Debug] >
23:16:49 #23 [Debug] > ╭─[ 5.56s - stdout ]───────────────────────────────────────────────────────────╮
23:16:49 #24 [Debug] > │ () │
23:16:49 #25 [Debug] > │ │
23:16:49 #26 [Debug] > │ │
23:16:49 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:49 #28 [Debug] >
23:16:49 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:49 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:49 #31 [Debug] > │ ## write_line │
23:16:49 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:49 #33 [Debug] >
23:16:49 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:49 #35 [Debug] > inl write_line obj : () =
23:16:49 #36 [Debug] > $"System.Console.WriteLine !obj"
23:16:49 #37 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-4944-4408-4007bbecc6d1\main.spi
23:16:49 #38 [Debug] >
23:16:49 #39 [Debug] > ╭─[ 198.86ms - stdout ]────────────────────────────────────────────────────────╮
23:16:49 #40 [Debug] > │ () │
23:16:49 #41 [Debug] > │ │
23:16:49 #42 [Debug] > │ │
23:16:49 #43 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:49 #44 [Debug] >
23:16:49 #45 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:49 #46 [Debug] > inl write_line_ ~obj : () =
23:16:49 #47 [Debug] > $"System.Console.WriteLine !obj"
23:16:49 #48 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2316-4963-6380-66ce539814e7\main.spi
23:16:49 #49 [Debug] >
23:16:49 #50 [Debug] > ╭─[ 153.30ms - stdout ]────────────────────────────────────────────────────────╮
23:16:49 #51 [Debug] > │ () │
23:16:49 #52 [Debug] > │ │
23:16:49 #53 [Debug] > │ │
23:16:49 #54 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:51 #55 [Debug] > [NbConvertApp] Converting notebook console.dib.ipynb to html
23:16:51 #56 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:16:51 #57 [Debug] > validate(nb)
23:16:52 #58 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:16:52 #59 [Debug] > return _pygments_highlight(
23:16:52 #60 [Debug] > [NbConvertApp] Writing 273326 bytes to console.dib.html
23:16:53 #61 [Debug] executeAsync / exitCode: 0 / proc.Id: 60288 / output.Length: 3010
23:16:53 #62 [Debug] main / executeCommand / exitCode: 0
23:16:54 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:16:54 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:16:54 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:16:54 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:16:54 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:16:54 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:16:55 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:16:55 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:16:55 #9 [Debug] > Server bound to: http://localhost:13805
23:16:55 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 math.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:16:58 #11 [Debug] >
23:16:58 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:16:58 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:16:58 #14 [Debug] > │ # math │
23:16:58 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:16:58 #16 [Debug] >
23:16:58 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:16:58 #18 [Debug] > // // test
23:16:58 #19 [Debug] >
23:16:58 #20 [Debug] > open testing
23:17:01 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0057-5760-52033d66b19b\main.spi
23:17:04 #22 [Debug] >
23:17:04 #23 [Debug] > ╭─[ 6.01s - stdout ]───────────────────────────────────────────────────────────╮
23:17:04 #24 [Debug] > │ () │
23:17:04 #25 [Debug] > │ │
23:17:04 #26 [Debug] > │ │
23:17:04 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:04 #28 [Debug] >
23:17:04 #29 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:04 #30 [Debug] > // // test
23:17:04 #31 [Debug] >
23:17:04 #32 [Debug] > 2 * 2 / 0.4f64 |> sqrt
23:17:04 #33 [Debug] > |> _almost_equal 3.1622776601683795
23:17:04 #34 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0412-1220-17ee503d2269\main.spi
23:17:04 #35 [Debug] >
23:17:04 #36 [Debug] > ╭─[ 724.43ms - stdout ]────────────────────────────────────────────────────────╮
23:17:04 #37 [Debug] > │ let rec method0 () : unit = │
23:17:04 #38 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{3.1622776601683795} / │
23:17:04 #39 [Debug] > │ expected: %A{3.1622776601683795}" │
23:17:04 #40 [Debug] > │ () │
23:17:04 #41 [Debug] > │ method0() │
23:17:04 #42 [Debug] > │ │
23:17:04 #43 [Debug] > │ │
23:17:04 #44 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:04 #45 [Debug] >
23:17:04 #46 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:04 #47 [Debug] > // // test
23:17:04 #48 [Debug] >
23:17:04 #49 [Debug] > 2f64 / 3
23:17:04 #50 [Debug] > |> _almost_equal 0.6666666666666666
23:17:04 #51 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0484-8475-8537235e4a96\main.spi
23:17:04 #52 [Debug] >
23:17:04 #53 [Debug] > ╭─[ 136.09ms - stdout ]────────────────────────────────────────────────────────╮
23:17:04 #54 [Debug] > │ let rec method0 () : unit = │
23:17:04 #55 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{0.6666666666666666} / │
23:17:04 #56 [Debug] > │ expected: %A{0.6666666666666666}" │
23:17:04 #57 [Debug] > │ () │
23:17:04 #58 [Debug] > │ method0() │
23:17:04 #59 [Debug] > │ │
23:17:04 #60 [Debug] > │ │
23:17:04 #61 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:04 #62 [Debug] >
23:17:04 #63 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:04 #64 [Debug] > // // test
23:17:04 #65 [Debug] >
23:17:04 #66 [Debug] > 2f64 |> log
23:17:04 #67 [Debug] > |> _almost_equal 0.6931471805599453
23:17:05 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0498-9879-91c2d55d2dd8\main.spi
23:17:05 #69 [Debug] >
23:17:05 #70 [Debug] > ╭─[ 142.13ms - stdout ]────────────────────────────────────────────────────────╮
23:17:05 #71 [Debug] > │ let rec method0 () : unit = │
23:17:05 #72 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{0.6931471805599453} / │
23:17:05 #73 [Debug] > │ expected: %A{0.6931471805599453}" │
23:17:05 #74 [Debug] > │ () │
23:17:05 #75 [Debug] > │ method0() │
23:17:05 #76 [Debug] > │ │
23:17:05 #77 [Debug] > │ │
23:17:05 #78 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #79 [Debug] >
23:17:05 #80 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:05 #81 [Debug] > // // test
23:17:05 #82 [Debug] >
23:17:05 #83 [Debug] > pi
23:17:05 #84 [Debug] > |> _almost_equal 3.141592653589793f64
23:17:05 #85 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0513-1367-1d37d30055bf\main.spi
23:17:05 #86 [Debug] >
23:17:05 #87 [Debug] > ╭─[ 145.02ms - stdout ]────────────────────────────────────────────────────────╮
23:17:05 #88 [Debug] > │ let rec method0 () : unit = │
23:17:05 #89 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{3.141592653589793} / │
23:17:05 #90 [Debug] > │ expected: %A{3.141592653589793}" │
23:17:05 #91 [Debug] > │ () │
23:17:05 #92 [Debug] > │ method0() │
23:17:05 #93 [Debug] > │ │
23:17:05 #94 [Debug] > │ │
23:17:05 #95 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #96 [Debug] >
23:17:05 #97 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:05 #98 [Debug] > // // test
23:17:05 #99 [Debug] >
23:17:05 #100 [Debug] > pi |> cos
23:17:05 #101 [Debug] > |> _equal -1f64
23:17:05 #102 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0528-2853-2b1fae2afab6\main.spi
23:17:05 #103 [Debug] >
23:17:05 #104 [Debug] > ╭─[ 136.25ms - stdout ]────────────────────────────────────────────────────────╮
23:17:05 #105 [Debug] > │ let rec method0 () : unit = │
23:17:05 #106 [Debug] > │ let v0 : string = $"_equal / actual: %A{-1.0} / expected: %A{-1.0}" │
23:17:05 #107 [Debug] > │ () │
23:17:05 #108 [Debug] > │ method0() │
23:17:05 #109 [Debug] > │ │
23:17:05 #110 [Debug] > │ │
23:17:05 #111 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #112 [Debug] >
23:17:05 #113 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:05 #114 [Debug] > // // test
23:17:05 #115 [Debug] >
23:17:05 #116 [Debug] > pi
23:17:05 #117 [Debug] > |> cos
23:17:05 #118 [Debug] > |> fun n => n / 2f64
23:17:05 #119 [Debug] > |> _almost_equal -0.5
23:17:05 #120 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0542-4266-4377874cfd12\main.spi
23:17:05 #121 [Debug] >
23:17:05 #122 [Debug] > ╭─[ 137.99ms - stdout ]────────────────────────────────────────────────────────╮
23:17:05 #123 [Debug] > │ let rec method0 () : unit = │
23:17:05 #124 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{-0.5} / expected: │
23:17:05 #125 [Debug] > │ %A{-0.5}" │
23:17:05 #126 [Debug] > │ () │
23:17:05 #127 [Debug] > │ method0() │
23:17:05 #128 [Debug] > │ │
23:17:05 #129 [Debug] > │ │
23:17:05 #130 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #131 [Debug] >
23:17:05 #132 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:05 #133 [Debug] > // // test
23:17:05 #134 [Debug] >
23:17:05 #135 [Debug] > pi / 2 |> cos
23:17:05 #136 [Debug] > |> _almost_equal 0.00000000000000006123233995736766f64
23:17:05 #137 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0556-5687-59ed759cc145\main.spi
23:17:05 #138 [Debug] >
23:17:05 #139 [Debug] > ╭─[ 131.55ms - stdout ]────────────────────────────────────────────────────────╮
23:17:05 #140 [Debug] > │ let rec method0 () : unit = │
23:17:05 #141 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{6.123233995736766E-17} / │
23:17:05 #142 [Debug] > │ expected: %A{6.123233995736766E-17}" │
23:17:05 #143 [Debug] > │ () │
23:17:05 #144 [Debug] > │ method0() │
23:17:05 #145 [Debug] > │ │
23:17:05 #146 [Debug] > │ │
23:17:05 #147 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #148 [Debug] >
23:17:05 #149 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:05 #150 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:05 #151 [Debug] > │ ## atan2 │
23:17:05 #152 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #153 [Debug] >
23:17:05 #154 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:05 #155 [Debug] > inl atan2 (y : f64) (x : f64) =
23:17:05 #156 [Debug] > $"System.Math.Atan2 (!y, !x)" : f64
23:17:05 #157 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0571-7110-7848b6a4482a\main.spi
23:17:05 #158 [Debug] >
23:17:05 #159 [Debug] > ╭─[ 134.76ms - stdout ]────────────────────────────────────────────────────────╮
23:17:05 #160 [Debug] > │ () │
23:17:05 #161 [Debug] > │ │
23:17:05 #162 [Debug] > │ │
23:17:05 #163 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:05 #164 [Debug] >
23:17:05 #165 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:05 #166 [Debug] > // // test
23:17:05 #167 [Debug] >
23:17:05 #168 [Debug] > 0 |> atan2 1
23:17:05 #169 [Debug] > |> _equal 1.5707963267948966
23:17:05 #170 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0584-8473-8deebbc0ffdb\main.spi
23:17:06 #171 [Debug] >
23:17:06 #172 [Debug] > ╭─[ 458.64ms - stdout ]────────────────────────────────────────────────────────╮
23:17:06 #173 [Debug] > │ let rec method0 () : unit = │
23:17:06 #174 [Debug] > │ let v0 : float = System.Math.Atan2 (1.0, 0.0) │
23:17:06 #175 [Debug] > │ let v1 : bool = v0 = 1.5707963267948966 │
23:17:06 #176 [Debug] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: │
23:17:06 #177 [Debug] > │ %A{1.5707963267948966}" │
23:17:06 #178 [Debug] > │ let v3 : bool = v1 = false │
23:17:06 #179 [Debug] > │ if v3 then │
23:17:06 #180 [Debug] > │ failwith<unit> v2 │
23:17:06 #181 [Debug] > │ method0() │
23:17:06 #182 [Debug] > │ │
23:17:06 #183 [Debug] > │ │
23:17:06 #184 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #185 [Debug] >
23:17:06 #186 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:06 #187 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:06 #188 [Debug] > │ ## e │
23:17:06 #189 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #190 [Debug] >
23:17:06 #191 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:06 #192 [Debug] > inl e () =
23:17:06 #193 [Debug] > exp 1f64
23:17:06 #194 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0631-3176-3084c6833eca\main.spi
23:17:06 #195 [Debug] >
23:17:06 #196 [Debug] > ╭─[ 150.23ms - stdout ]────────────────────────────────────────────────────────╮
23:17:06 #197 [Debug] > │ () │
23:17:06 #198 [Debug] > │ │
23:17:06 #199 [Debug] > │ │
23:17:06 #200 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #201 [Debug] >
23:17:06 #202 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:06 #203 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:06 #204 [Debug] > │ ## floor │
23:17:06 #205 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #206 [Debug] >
23:17:06 #207 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:06 #208 [Debug] > inl floor forall t {float}. (x : t) : t =
23:17:06 #209 [Debug] > $"floor !x"
23:17:06 #210 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0647-4713-409cf1a17003\main.spi
23:17:06 #211 [Debug] >
23:17:06 #212 [Debug] > ╭─[ 174.31ms - stdout ]────────────────────────────────────────────────────────╮
23:17:06 #213 [Debug] > │ () │
23:17:06 #214 [Debug] > │ │
23:17:06 #215 [Debug] > │ │
23:17:06 #216 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #217 [Debug] >
23:17:06 #218 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:06 #219 [Debug] > // // test
23:17:06 #220 [Debug] >
23:17:06 #221 [Debug] > 0.6 |> floor
23:17:06 #222 [Debug] > |> _equal 0f64
23:17:06 #223 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0664-6485-69a47d7b92b6\main.spi
23:17:06 #224 [Debug] >
23:17:06 #225 [Debug] > ╭─[ 199.77ms - stdout ]────────────────────────────────────────────────────────╮
23:17:06 #226 [Debug] > │ let rec method0 () : unit = │
23:17:06 #227 [Debug] > │ let v0 : float = floor 0.6 │
23:17:06 #228 [Debug] > │ let v1 : bool = v0 = 0.0 │
23:17:06 #229 [Debug] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{0.0}" │
23:17:06 #230 [Debug] > │ let v3 : bool = v1 = false │
23:17:06 #231 [Debug] > │ if v3 then │
23:17:06 #232 [Debug] > │ failwith<unit> v2 │
23:17:06 #233 [Debug] > │ method0() │
23:17:06 #234 [Debug] > │ │
23:17:06 #235 [Debug] > │ │
23:17:06 #236 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #237 [Debug] >
23:17:06 #238 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:06 #239 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:06 #240 [Debug] > │ ## log_base │
23:17:06 #241 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #242 [Debug] >
23:17:06 #243 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:06 #244 [Debug] > inl log_base (new_base : f64) (a : f64) =
23:17:06 #245 [Debug] > $"System.Math.Log (!a, !new_base)" : f64
23:17:06 #246 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0685-8565-8c246ec82895\main.spi
23:17:06 #247 [Debug] >
23:17:06 #248 [Debug] > ╭─[ 137.80ms - stdout ]────────────────────────────────────────────────────────╮
23:17:06 #249 [Debug] > │ () │
23:17:06 #250 [Debug] > │ │
23:17:06 #251 [Debug] > │ │
23:17:06 #252 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:06 #253 [Debug] >
23:17:06 #254 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:06 #255 [Debug] > // // test
23:17:06 #256 [Debug] >
23:17:06 #257 [Debug] > 100 |> log_base 10
23:17:06 #258 [Debug] > |> _equal 2
23:17:07 #259 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0699-9985-992d0a2546bc\main.spi
23:17:07 #260 [Debug] >
23:17:07 #261 [Debug] > ╭─[ 166.29ms - stdout ]────────────────────────────────────────────────────────╮
23:17:07 #262 [Debug] > │ let rec method0 () : unit = │
23:17:07 #263 [Debug] > │ let v0 : float = System.Math.Log (100.0, 10.0) │
23:17:07 #264 [Debug] > │ let v1 : bool = v0 = 2.0 │
23:17:07 #265 [Debug] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{2.0}" │
23:17:07 #266 [Debug] > │ let v3 : bool = v1 = false │
23:17:07 #267 [Debug] > │ if v3 then │
23:17:07 #268 [Debug] > │ failwith<unit> v2 │
23:17:07 #269 [Debug] > │ method0() │
23:17:07 #270 [Debug] > │ │
23:17:07 #271 [Debug] > │ │
23:17:07 #272 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #273 [Debug] >
23:17:07 #274 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:07 #275 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:07 #276 [Debug] > │ ## round │
23:17:07 #277 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #278 [Debug] >
23:17:07 #279 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:07 #280 [Debug] > inl round forall t {float}. (x : t) : t =
23:17:07 #281 [Debug] > $"round !x"
23:17:07 #282 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0717-1720-1f7e0187f727\main.spi
23:17:07 #283 [Debug] >
23:17:07 #284 [Debug] > ╭─[ 134.45ms - stdout ]────────────────────────────────────────────────────────╮
23:17:07 #285 [Debug] > │ () │
23:17:07 #286 [Debug] > │ │
23:17:07 #287 [Debug] > │ │
23:17:07 #288 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #289 [Debug] >
23:17:07 #290 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:07 #291 [Debug] > // // test
23:17:07 #292 [Debug] >
23:17:07 #293 [Debug] > 0.5 |> round
23:17:07 #294 [Debug] > |> _equal 0f64
23:17:07 #295 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0730-3095-36e90b13021d\main.spi
23:17:07 #296 [Debug] >
23:17:07 #297 [Debug] > ╭─[ 162.20ms - stdout ]────────────────────────────────────────────────────────╮
23:17:07 #298 [Debug] > │ let rec method0 () : unit = │
23:17:07 #299 [Debug] > │ let v0 : float = round 0.5 │
23:17:07 #300 [Debug] > │ let v1 : bool = v0 = 0.0 │
23:17:07 #301 [Debug] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{0.0}" │
23:17:07 #302 [Debug] > │ let v3 : bool = v1 = false │
23:17:07 #303 [Debug] > │ if v3 then │
23:17:07 #304 [Debug] > │ failwith<unit> v2 │
23:17:07 #305 [Debug] > │ method0() │
23:17:07 #306 [Debug] > │ │
23:17:07 #307 [Debug] > │ │
23:17:07 #308 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #309 [Debug] >
23:17:07 #310 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:07 #311 [Debug] > // // test
23:17:07 #312 [Debug] >
23:17:07 #313 [Debug] > 0.6 |> round
23:17:07 #314 [Debug] > |> _equal 1f64
23:17:07 #315 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0747-4774-4ef13edc0fa5\main.spi
23:17:07 #316 [Debug] >
23:17:07 #317 [Debug] > ╭─[ 165.78ms - stdout ]────────────────────────────────────────────────────────╮
23:17:07 #318 [Debug] > │ let rec method0 () : unit = │
23:17:07 #319 [Debug] > │ let v0 : float = round 0.6 │
23:17:07 #320 [Debug] > │ let v1 : bool = v0 = 1.0 │
23:17:07 #321 [Debug] > │ let v2 : string = $"_equal / actual: %A{v0} / expected: %A{1.0}" │
23:17:07 #322 [Debug] > │ let v3 : bool = v1 = false │
23:17:07 #323 [Debug] > │ if v3 then │
23:17:07 #324 [Debug] > │ failwith<unit> v2 │
23:17:07 #325 [Debug] > │ method0() │
23:17:07 #326 [Debug] > │ │
23:17:07 #327 [Debug] > │ │
23:17:07 #328 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #329 [Debug] >
23:17:07 #330 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:07 #331 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:07 #332 [Debug] > │ ## square │
23:17:07 #333 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #334 [Debug] >
23:17:07 #335 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:07 #336 [Debug] > inl square x =
23:17:07 #337 [Debug] > x ** 2
23:17:07 #338 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0765-6530-68492203f114\main.spi
23:17:07 #339 [Debug] >
23:17:07 #340 [Debug] > ╭─[ 119.06ms - stdout ]────────────────────────────────────────────────────────╮
23:17:07 #341 [Debug] > │ () │
23:17:07 #342 [Debug] > │ │
23:17:07 #343 [Debug] > │ │
23:17:07 #344 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #345 [Debug] >
23:17:07 #346 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:07 #347 [Debug] > // // test
23:17:07 #348 [Debug] >
23:17:07 #349 [Debug] > 5f64
23:17:07 #350 [Debug] > |> sqrt
23:17:07 #351 [Debug] > |> square
23:17:07 #352 [Debug] > |> _almost_equal 5
23:17:07 #353 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0777-7750-79038ed1f5cb\main.spi
23:17:07 #354 [Debug] >
23:17:07 #355 [Debug] > ╭─[ 146.62ms - stdout ]────────────────────────────────────────────────────────╮
23:17:07 #356 [Debug] > │ let rec method0 () : unit = │
23:17:07 #357 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{5.000000000000001} / │
23:17:07 #358 [Debug] > │ expected: %A{5.0}" │
23:17:07 #359 [Debug] > │ () │
23:17:07 #360 [Debug] > │ method0() │
23:17:07 #361 [Debug] > │ │
23:17:07 #362 [Debug] > │ │
23:17:07 #363 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:07 #364 [Debug] >
23:17:07 #365 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:07 #366 [Debug] > // // test
23:17:07 #367 [Debug] >
23:17:07 #368 [Debug] > e () |> square
23:17:07 #369 [Debug] > |> _almost_equal 7.3890560989306495
23:17:08 #370 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-0792-9294-9780d16c51a3\main.spi
23:17:08 #371 [Debug] >
23:17:08 #372 [Debug] > ╭─[ 154.40ms - stdout ]────────────────────────────────────────────────────────╮
23:17:08 #373 [Debug] > │ let rec method0 () : unit = │
23:17:08 #374 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{7.3890560989306495} / │
23:17:08 #375 [Debug] > │ expected: %A{7.3890560989306495}" │
23:17:08 #376 [Debug] > │ () │
23:17:08 #377 [Debug] > │ method0() │
23:17:08 #378 [Debug] > │ │
23:17:08 #379 [Debug] > │ │
23:17:08 #380 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:10 #381 [Debug] > [NbConvertApp] Converting notebook math.dib.ipynb to html
23:17:10 #382 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:17:10 #383 [Debug] > validate(nb)
23:17:10 #384 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:17:10 #385 [Debug] > return _pygments_highlight(
23:17:11 #386 [Debug] > [NbConvertApp] Writing 300934 bytes to math.dib.html
23:17:11 #387 [Debug] executeAsync / exitCode: 0 / proc.Id: 77752 / output.Length: 20120
23:17:11 #388 [Debug] main / executeCommand / exitCode: 0
23:17:12 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:17:12 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:17:12 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:17:12 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:17:13 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:17:13 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:17:13 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:17:13 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:17:13 #9 [Debug] > Server bound to: http://localhost:13805
23:17:13 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"optionm'.dib\"""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:17:16 #11 [Debug] >
23:17:16 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:16 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:16 #14 [Debug] > │ # optionm │
23:17:16 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:16 #16 [Debug] >
23:17:16 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:16 #18 [Debug] > // // test
23:17:16 #19 [Debug] >
23:17:16 #20 [Debug] > open testing
23:17:20 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-1943-4315-4646ba183560\main.spi
23:17:23 #22 [Debug] >
23:17:23 #23 [Debug] > ╭─[ 6.65s - stdout ]───────────────────────────────────────────────────────────╮
23:17:23 #24 [Debug] > │ () │
23:17:23 #25 [Debug] > │ │
23:17:23 #26 [Debug] > │ │
23:17:23 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:23 #28 [Debug] >
23:17:23 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:23 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:23 #31 [Debug] > │ ## default_value │
23:17:23 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:23 #33 [Debug] >
23:17:23 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:23 #35 [Debug] > inl default_value d = optionm.defaultWith d
23:17:23 #36 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2313-1364-1edf26d069e4\main.spi
23:17:23 #37 [Debug] >
23:17:23 #38 [Debug] > ╭─[ 142.76ms - stdout ]────────────────────────────────────────────────────────╮
23:17:23 #39 [Debug] > │ () │
23:17:23 #40 [Debug] > │ │
23:17:23 #41 [Debug] > │ │
23:17:23 #42 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:23 #43 [Debug] >
23:17:23 #44 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:23 #45 [Debug] > // // test
23:17:23 #46 [Debug] >
23:17:23 #47 [Debug] > None
23:17:23 #48 [Debug] > |> default_value 3i32
23:17:23 #49 [Debug] > |> _equal 3i32
23:17:23 #50 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2327-2793-27c7be2d9c09\main.spi
23:17:24 #51 [Debug] >
23:17:24 #52 [Debug] > ╭─[ 870.14ms - stdout ]────────────────────────────────────────────────────────╮
23:17:24 #53 [Debug] > │ let rec method0 () : unit = │
23:17:24 #54 [Debug] > │ let v0 : string = $"_equal / actual: %A{3} / expected: %A{3}" │
23:17:24 #55 [Debug] > │ () │
23:17:24 #56 [Debug] > │ method0() │
23:17:24 #57 [Debug] > │ │
23:17:24 #58 [Debug] > │ │
23:17:24 #59 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:24 #60 [Debug] >
23:17:24 #61 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:24 #62 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:24 #63 [Debug] > │ ## default_with │
23:17:24 #64 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:24 #65 [Debug] >
23:17:24 #66 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:24 #67 [Debug] > inl default_with fn = function Some x => x | None => fn ()
23:17:24 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2415-1584-13d023f55b6f\main.spi
23:17:24 #69 [Debug] >
23:17:24 #70 [Debug] > ╭─[ 223.85ms - stdout ]────────────────────────────────────────────────────────╮
23:17:24 #71 [Debug] > │ () │
23:17:24 #72 [Debug] > │ │
23:17:24 #73 [Debug] > │ │
23:17:24 #74 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:24 #75 [Debug] >
23:17:24 #76 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:24 #77 [Debug] > // // test
23:17:24 #78 [Debug] >
23:17:24 #79 [Debug] > None
23:17:24 #80 [Debug] > |> default_with (fun () => 3i32)
23:17:24 #81 [Debug] > |> _equal 3i32
23:17:24 #82 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2438-3872-38edaf1be6c7\main.spi
23:17:24 #83 [Debug] >
23:17:24 #84 [Debug] > ╭─[ 140.88ms - stdout ]────────────────────────────────────────────────────────╮
23:17:24 #85 [Debug] > │ let rec method0 () : unit = │
23:17:24 #86 [Debug] > │ let v0 : string = $"_equal / actual: %A{3} / expected: %A{3}" │
23:17:24 #87 [Debug] > │ () │
23:17:24 #88 [Debug] > │ method0() │
23:17:24 #89 [Debug] > │ │
23:17:24 #90 [Debug] > │ │
23:17:24 #91 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:24 #92 [Debug] >
23:17:24 #93 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:24 #94 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:24 #95 [Debug] > │ ## choose │
23:17:24 #96 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:24 #97 [Debug] >
23:17:24 #98 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:24 #99 [Debug] > inl choose forall a b c. (fn : a -> b -> c) (a : option a) (b : option b) :
23:17:24 #100 [Debug] > option c =
23:17:24 #101 [Debug] > match a, b with
23:17:24 #102 [Debug] > | Some x, Some y => fn x y |> Some
23:17:24 #103 [Debug] > | _ => None
23:17:24 #104 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2453-5325-54c6061c9111\main.spi
23:17:24 #105 [Debug] >
23:17:24 #106 [Debug] > ╭─[ 130.17ms - stdout ]────────────────────────────────────────────────────────╮
23:17:24 #107 [Debug] > │ () │
23:17:24 #108 [Debug] > │ │
23:17:24 #109 [Debug] > │ │
23:17:24 #110 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:24 #111 [Debug] >
23:17:24 #112 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:24 #113 [Debug] > // // test
23:17:24 #114 [Debug] >
23:17:24 #115 [Debug] > (Some 2i32, Some 3)
23:17:24 #116 [Debug] > ||> choose (+)
23:17:24 #117 [Debug] > |> _equal (Some 5)
23:17:24 #118 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-2466-6653-6ae93bdb0f1e\main.spi
23:17:25 #119 [Debug] >
23:17:25 #120 [Debug] > ╭─[ 919.34ms - stdout ]────────────────────────────────────────────────────────╮
23:17:25 #121 [Debug] > │ type [<Struct>] US0 = │
23:17:25 #122 [Debug] > │ | US0_0 │
23:17:25 #123 [Debug] > │ | US0_1 of f1_0 : int32 │
23:17:25 #124 [Debug] > │ let rec method0 () : unit = │
23:17:25 #125 [Debug] > │ let v3 : US0 = US0_1(5) │
23:17:25 #126 [Debug] > │ let v4 : US0 = US0_1(5) │
23:17:25 #127 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:17:25 #128 [Debug] > │ () │
23:17:25 #129 [Debug] > │ method0() │
23:17:25 #130 [Debug] > │ │
23:17:25 #131 [Debug] > │ │
23:17:25 #132 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:27 #133 [Debug] > [NbConvertApp] Converting notebook optionm'.dib.ipynb to html
23:17:27 #134 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:17:27 #135 [Debug] > validate(nb)
23:17:28 #136 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:17:28 #137 [Debug] > return _pygments_highlight(
23:17:28 #138 [Debug] > [NbConvertApp] Writing 281330 bytes to optionm'.dib.html
23:17:29 #139 [Debug] executeAsync / exitCode: 0 / proc.Id: 59124 / output.Length: 7071
23:17:29 #140 [Debug] main / executeCommand / exitCode: 0
23:17:29 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:17:30 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:17:30 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:17:30 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:17:30 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:17:30 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:17:31 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:17:31 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:17:31 #9 [Debug] > Server bound to: http://localhost:13805
23:17:31 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"am'.dib\"""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:17:33 #11 [Debug] >
23:17:33 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:33 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:33 #14 [Debug] > │ # am │
23:17:33 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:34 #16 [Debug] >
23:17:34 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:34 #18 [Debug] > // // test
23:17:34 #19 [Debug] >
23:17:34 #20 [Debug] > open testing
23:17:37 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-3654-5437-566ce73db71d\main.spi
23:17:39 #22 [Debug] >
23:17:39 #23 [Debug] > ╭─[ 5.75s - stdout ]───────────────────────────────────────────────────────────╮
23:17:39 #24 [Debug] > │ () │
23:17:39 #25 [Debug] > │ │
23:17:39 #26 [Debug] > │ │
23:17:39 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:39 #28 [Debug] >
23:17:39 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:39 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:39 #31 [Debug] > │ ## sum │
23:17:39 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:39 #33 [Debug] >
23:17:39 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:39 #35 [Debug] > inl sum (a' : a _ _) =
23:17:39 #36 [Debug] > a' |> am.fold (+) 0
23:17:39 #37 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-3976-7627-76675e1a87fe\main.spi
23:17:39 #38 [Debug] >
23:17:39 #39 [Debug] > ╭─[ 172.41ms - stdout ]────────────────────────────────────────────────────────╮
23:17:39 #40 [Debug] > │ () │
23:17:39 #41 [Debug] > │ │
23:17:39 #42 [Debug] > │ │
23:17:39 #43 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:39 #44 [Debug] >
23:17:39 #45 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:39 #46 [Debug] > // // test
23:17:39 #47 [Debug] >
23:17:39 #48 [Debug] > am.init 10i32 id
23:17:39 #49 [Debug] > |> sum
23:17:39 #50 [Debug] > |> _equal 45
23:17:40 #51 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-3993-9312-9d1a6eda73a4\main.spi
23:17:41 #52 [Debug] >
23:17:41 #53 [Debug] > ╭─[ 1.94s - stdout ]───────────────────────────────────────────────────────────╮
23:17:41 #54 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:17:41 #55 [Debug] > │ and Mut1 = {mutable l0 : int32; mutable l1 : int32} │
23:17:41 #56 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:17:41 #57 [Debug] > │ let v1 : int32 = v0.l0 │
23:17:41 #58 [Debug] > │ let v2 : bool = v1 < 10 │
23:17:41 #59 [Debug] > │ v2 │
23:17:41 #60 [Debug] > │ and method2 (v0 : int32, v1 : Mut1) : bool = │
23:17:41 #61 [Debug] > │ let v2 : int32 = v1.l0 │
23:17:41 #62 [Debug] > │ let v3 : bool = v2 < v0 │
23:17:41 #63 [Debug] > │ v3 │
23:17:41 #64 [Debug] > │ and method0 () : unit = │
23:17:41 #65 [Debug] > │ let v0 : (int32 []) = Array.zeroCreate<int32> (10) │
23:17:41 #66 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:17:41 #67 [Debug] > │ while method1(v1) do │
23:17:41 #68 [Debug] > │ let v3 : int32 = v1.l0 │
23:17:41 #69 [Debug] > │ v0.[int v3] <- v3 │
23:17:41 #70 [Debug] > │ let v4 : int32 = v3 + 1 │
23:17:41 #71 [Debug] > │ v1.l0 <- v4 │
23:17:41 #72 [Debug] > │ () │
23:17:41 #73 [Debug] > │ let v5 : int32 = v0.Length │
23:17:41 #74 [Debug] > │ let v6 : Mut1 = {l0 = 0; l1 = 0} : Mut1 │
23:17:41 #75 [Debug] > │ while method2(v5, v6) do │
23:17:41 #76 [Debug] > │ let v8 : int32 = v6.l0 │
23:17:41 #77 [Debug] > │ let v9 : int32 = v6.l1 │
23:17:41 #78 [Debug] > │ let v10 : int32 = v0.[int v8] │
23:17:41 #79 [Debug] > │ let v11 : int32 = v9 + v10 │
23:17:41 #80 [Debug] > │ let v12 : int32 = v8 + 1 │
23:17:41 #81 [Debug] > │ v6.l0 <- v12 │
23:17:41 #82 [Debug] > │ v6.l1 <- v11 │
23:17:41 #83 [Debug] > │ () │
23:17:41 #84 [Debug] > │ let v13 : int32 = v6.l1 │
23:17:41 #85 [Debug] > │ let v14 : bool = v13 = 45 │
23:17:41 #86 [Debug] > │ let v15 : string = $"_equal / actual: %A{v13} / expected: %A{45}" │
23:17:41 #87 [Debug] > │ let v16 : bool = v14 = false │
23:17:41 #88 [Debug] > │ if v16 then │
23:17:41 #89 [Debug] > │ failwith<unit> v15 │
23:17:41 #90 [Debug] > │ method0() │
23:17:41 #91 [Debug] > │ │
23:17:41 #92 [Debug] > │ │
23:17:41 #93 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:41 #94 [Debug] >
23:17:41 #95 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:41 #96 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:41 #97 [Debug] > │ ## init_series │
23:17:41 #98 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:41 #99 [Debug] >
23:17:41 #100 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:41 #101 [Debug] > inl init_series start end inc =
23:17:41 #102 [Debug] > inl total = conv ((end - start) / inc) + 1
23:17:41 #103 [Debug] > am.init total (conv >> (*) inc >> (+) start) : a i32 _
23:17:41 #104 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-4189-8906-894e2ee3f5fb\main.spi
23:17:42 #105 [Debug] >
23:17:42 #106 [Debug] > ╭─[ 141.09ms - stdout ]────────────────────────────────────────────────────────╮
23:17:42 #107 [Debug] > │ () │
23:17:42 #108 [Debug] > │ │
23:17:42 #109 [Debug] > │ │
23:17:42 #110 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:42 #111 [Debug] >
23:17:42 #112 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:42 #113 [Debug] > // // test
23:17:42 #114 [Debug] >
23:17:42 #115 [Debug] > init_series 0 1 0.5
23:17:42 #116 [Debug] > |> _equal (a ;[[0f64; 0.5; 1]])
23:17:42 #117 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-4203-0336-058a98cfa831\main.spi
23:17:42 #118 [Debug] >
23:17:42 #119 [Debug] > ╭─[ 239.41ms - stdout ]────────────────────────────────────────────────────────╮
23:17:42 #120 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:17:42 #121 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:17:42 #122 [Debug] > │ let v1 : int32 = v0.l0 │
23:17:42 #123 [Debug] > │ let v2 : bool = v1 < 3 │
23:17:42 #124 [Debug] > │ v2 │
23:17:42 #125 [Debug] > │ and method2 (v0 : (float []), v1 : (float []), v2 : int32) : bool = │
23:17:42 #126 [Debug] > │ let v3 : int32 = v0.Length │
23:17:42 #127 [Debug] > │ let v4 : bool = v2 < v3 │
23:17:42 #128 [Debug] > │ if v4 then │
23:17:42 #129 [Debug] > │ let v5 : float = v0.[int v2] │
23:17:42 #130 [Debug] > │ let v6 : float = v1.[int v2] │
23:17:42 #131 [Debug] > │ let v7 : bool = v5 = v6 │
23:17:42 #132 [Debug] > │ if v7 then │
23:17:42 #133 [Debug] > │ let v8 : int32 = v2 + 1 │
23:17:42 #134 [Debug] > │ method2(v0, v1, v8) │
23:17:42 #135 [Debug] > │ else │
23:17:42 #136 [Debug] > │ false │
23:17:42 #137 [Debug] > │ else │
23:17:42 #138 [Debug] > │ true │
23:17:42 #139 [Debug] > │ and method0 () : unit = │
23:17:42 #140 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (3) │
23:17:42 #141 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:17:42 #142 [Debug] > │ while method1(v1) do │
23:17:42 #143 [Debug] > │ let v3 : int32 = v1.l0 │
23:17:42 #144 [Debug] > │ let v4 : float = float v3 │
23:17:42 #145 [Debug] > │ let v5 : float = 0.5 * v4 │
23:17:42 #146 [Debug] > │ v0.[int v3] <- v5 │
23:17:42 #147 [Debug] > │ let v6 : int32 = v3 + 1 │
23:17:42 #148 [Debug] > │ v1.l0 <- v6 │
23:17:42 #149 [Debug] > │ () │
23:17:42 #150 [Debug] > │ let v7 : (float []) = [|0.0; 0.5; 1.0|] │
23:17:42 #151 [Debug] > │ let v8 : int32 = v0.Length │
23:17:42 #152 [Debug] > │ let v9 : int32 = v7.Length │
23:17:42 #153 [Debug] > │ let v10 : bool = v8 = v9 │
23:17:42 #154 [Debug] > │ let v11 : bool = v10 <> true │
23:17:42 #155 [Debug] > │ let v14 : bool = │
23:17:42 #156 [Debug] > │ if v11 then │
23:17:42 #157 [Debug] > │ false │
23:17:42 #158 [Debug] > │ else │
23:17:42 #159 [Debug] > │ let v12 : int32 = 0 │
23:17:42 #160 [Debug] > │ method2(v0, v7, v12) │
23:17:42 #161 [Debug] > │ let v15 : string = $"_equal / actual: %A{v0} / expected: %A{v7}" │
23:17:42 #162 [Debug] > │ let v16 : bool = v14 = false │
23:17:42 #163 [Debug] > │ if v16 then │
23:17:42 #164 [Debug] > │ failwith<unit> v15 │
23:17:42 #165 [Debug] > │ method0() │
23:17:42 #166 [Debug] > │ │
23:17:42 #167 [Debug] > │ │
23:17:42 #168 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:44 #169 [Debug] > [NbConvertApp] Converting notebook am'.dib.ipynb to html
23:17:44 #170 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:17:44 #171 [Debug] > validate(nb)
23:17:45 #172 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:17:45 #173 [Debug] > return _pygments_highlight(
23:17:45 #174 [Debug] > [NbConvertApp] Writing 279748 bytes to am'.dib.html
23:17:46 #175 [Debug] executeAsync / exitCode: 0 / proc.Id: 66044 / output.Length: 11034
23:17:46 #176 [Debug] main / executeCommand / exitCode: 0
23:17:46 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:17:46 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:17:47 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:17:47 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:17:47 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:17:47 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:17:48 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:17:48 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:17:48 #9 [Debug] > Server bound to: http://localhost:13805
23:17:48 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 \"listm'.dib\"""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:17:51 #11 [Debug] >
23:17:51 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:51 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:51 #14 [Debug] > │ # listm │
23:17:51 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:51 #16 [Debug] >
23:17:51 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:51 #18 [Debug] > // // test
23:17:51 #19 [Debug] >
23:17:51 #20 [Debug] > open testing
23:17:54 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5380-8084-8f178a903e42\main.spi
23:17:57 #22 [Debug] >
23:17:57 #23 [Debug] > ╭─[ 5.77s - stdout ]───────────────────────────────────────────────────────────╮
23:17:57 #24 [Debug] > │ () │
23:17:57 #25 [Debug] > │ │
23:17:57 #26 [Debug] > │ │
23:17:57 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:57 #28 [Debug] >
23:17:57 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:57 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:57 #31 [Debug] > │ ## /@ │
23:17:57 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:57 #33 [Debug] >
23:17:57 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:57 #35 [Debug] > inl (/@) a b = b |> listm.append a
23:17:57 #36 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5703-0312-060829a56345\main.spi
23:17:57 #37 [Debug] >
23:17:57 #38 [Debug] > ╭─[ 147.73ms - stdout ]────────────────────────────────────────────────────────╮
23:17:57 #39 [Debug] > │ () │
23:17:57 #40 [Debug] > │ │
23:17:57 #41 [Debug] > │ │
23:17:57 #42 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:57 #43 [Debug] >
23:17:57 #44 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:57 #45 [Debug] > // // test
23:17:57 #46 [Debug] >
23:17:57 #47 [Debug] > [["a"; "b"]] /@ [["c"; "d"]]
23:17:57 #48 [Debug] > |> _equal [["a"; "b"; "c"; "d"]]
23:17:57 #49 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5717-1782-19fdf28a77dd\main.spi
23:17:58 #50 [Debug] >
23:17:58 #51 [Debug] > ╭─[ 1.37s - stdout ]───────────────────────────────────────────────────────────╮
23:17:58 #52 [Debug] > │ type UH0 = │
23:17:58 #53 [Debug] > │ | UH0_0 of string * UH0 │
23:17:58 #54 [Debug] > │ | UH0_1 │
23:17:58 #55 [Debug] > │ let rec method0 () : unit = │
23:17:58 #56 [Debug] > │ let v43 : string = "a" │
23:17:58 #57 [Debug] > │ let v44 : string = "b" │
23:17:58 #58 [Debug] > │ let v45 : string = "c" │
23:17:58 #59 [Debug] > │ let v46 : string = "d" │
23:17:58 #60 [Debug] > │ let v47 : UH0 = UH0_1 │
23:17:58 #61 [Debug] > │ let v48 : UH0 = UH0_0(v46, v47) │
23:17:58 #62 [Debug] > │ let v49 : UH0 = UH0_0(v45, v48) │
23:17:58 #63 [Debug] > │ let v50 : UH0 = UH0_0(v44, v49) │
23:17:58 #64 [Debug] > │ let v51 : UH0 = UH0_0(v43, v50) │
23:17:58 #65 [Debug] > │ let v52 : UH0 = UH0_1 │
23:17:58 #66 [Debug] > │ let v53 : UH0 = UH0_0(v46, v52) │
23:17:58 #67 [Debug] > │ let v54 : UH0 = UH0_0(v45, v53) │
23:17:58 #68 [Debug] > │ let v55 : UH0 = UH0_0(v44, v54) │
23:17:58 #69 [Debug] > │ let v56 : UH0 = UH0_0(v43, v55) │
23:17:58 #70 [Debug] > │ let v57 : string = $"_equal / actual: %A{v51} / expected: %A{v56}" │
23:17:58 #71 [Debug] > │ () │
23:17:58 #72 [Debug] > │ method0() │
23:17:58 #73 [Debug] > │ │
23:17:58 #74 [Debug] > │ │
23:17:58 #75 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:58 #76 [Debug] >
23:17:58 #77 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:58 #78 [Debug] > inl init_series start end inc =
23:17:58 #79 [Debug] > inl total : f64 = conv ((end - start) / inc) + 1
23:17:58 #80 [Debug] > listm.init total (conv >> (*) inc >> (+) start)
23:17:58 #81 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5856-5682-5cccc0d3b4af\main.spi
23:17:58 #82 [Debug] >
23:17:58 #83 [Debug] > ╭─[ 276.52ms - stdout ]────────────────────────────────────────────────────────╮
23:17:58 #84 [Debug] > │ () │
23:17:58 #85 [Debug] > │ │
23:17:58 #86 [Debug] > │ │
23:17:58 #87 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:58 #88 [Debug] >
23:17:58 #89 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:58 #90 [Debug] > // // test
23:17:58 #91 [Debug] >
23:17:58 #92 [Debug] > init_series 0 1 0.5
23:17:58 #93 [Debug] > |> _equal [[0f64; 0.5; 1]]
23:17:58 #94 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5884-8472-86fa46b8be42\main.spi
23:17:59 #95 [Debug] >
23:17:59 #96 [Debug] > ╭─[ 221.00ms - stdout ]────────────────────────────────────────────────────────╮
23:17:59 #97 [Debug] > │ type UH0 = │
23:17:59 #98 [Debug] > │ | UH0_0 of float * UH0 │
23:17:59 #99 [Debug] > │ | UH0_1 │
23:17:59 #100 [Debug] > │ let rec method0 () : unit = │
23:17:59 #101 [Debug] > │ let v18 : UH0 = UH0_1 │
23:17:59 #102 [Debug] > │ let v19 : UH0 = UH0_0(1.0, v18) │
23:17:59 #103 [Debug] > │ let v20 : UH0 = UH0_0(0.5, v19) │
23:17:59 #104 [Debug] > │ let v21 : UH0 = UH0_0(0.0, v20) │
23:17:59 #105 [Debug] > │ let v22 : UH0 = UH0_1 │
23:17:59 #106 [Debug] > │ let v23 : UH0 = UH0_0(1.0, v22) │
23:17:59 #107 [Debug] > │ let v24 : UH0 = UH0_0(0.5, v23) │
23:17:59 #108 [Debug] > │ let v25 : UH0 = UH0_0(0.0, v24) │
23:17:59 #109 [Debug] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
23:17:59 #110 [Debug] > │ () │
23:17:59 #111 [Debug] > │ method0() │
23:17:59 #112 [Debug] > │ │
23:17:59 #113 [Debug] > │ │
23:17:59 #114 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #115 [Debug] >
23:17:59 #116 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:59 #117 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:59 #118 [Debug] > │ ## try_item │
23:17:59 #119 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #120 [Debug] >
23:17:59 #121 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:59 #122 [Debug] > inl rec try_item i = function
23:17:59 #123 [Debug] > | Cons (x, _) when i = 0 => Some x
23:17:59 #124 [Debug] > | Cons (_, xs) => try_item (i - 1) xs
23:17:59 #125 [Debug] > | Nil => None
23:17:59 #126 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5907-0789-06589df7ac6d\main.spi
23:17:59 #127 [Debug] >
23:17:59 #128 [Debug] > ╭─[ 148.28ms - stdout ]────────────────────────────────────────────────────────╮
23:17:59 #129 [Debug] > │ () │
23:17:59 #130 [Debug] > │ │
23:17:59 #131 [Debug] > │ │
23:17:59 #132 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #133 [Debug] >
23:17:59 #134 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:59 #135 [Debug] > // // test
23:17:59 #136 [Debug] >
23:17:59 #137 [Debug] > listm.init 10i32 id
23:17:59 #138 [Debug] > |> try_item 9i32
23:17:59 #139 [Debug] > |> _equal (Some 9)
23:17:59 #140 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5923-2312-23bf42afe106\main.spi
23:17:59 #141 [Debug] >
23:17:59 #142 [Debug] > ╭─[ 263.87ms - stdout ]────────────────────────────────────────────────────────╮
23:17:59 #143 [Debug] > │ type [<Struct>] US0 = │
23:17:59 #144 [Debug] > │ | US0_0 │
23:17:59 #145 [Debug] > │ | US0_1 of f1_0 : int32 │
23:17:59 #146 [Debug] > │ let rec method0 () : unit = │
23:17:59 #147 [Debug] > │ let v3 : US0 = US0_1(9) │
23:17:59 #148 [Debug] > │ let v4 : US0 = US0_1(9) │
23:17:59 #149 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:17:59 #150 [Debug] > │ () │
23:17:59 #151 [Debug] > │ method0() │
23:17:59 #152 [Debug] > │ │
23:17:59 #153 [Debug] > │ │
23:17:59 #154 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #155 [Debug] >
23:17:59 #156 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:59 #157 [Debug] > // // test
23:17:59 #158 [Debug] >
23:17:59 #159 [Debug] > listm.init 10i32 id
23:17:59 #160 [Debug] > |> try_item 10i32
23:17:59 #161 [Debug] > |> _equal None
23:17:59 #162 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5950-5014-5c828c2bc438\main.spi
23:17:59 #163 [Debug] >
23:17:59 #164 [Debug] > ╭─[ 201.08ms - stdout ]────────────────────────────────────────────────────────╮
23:17:59 #165 [Debug] > │ type [<Struct>] US0 = │
23:17:59 #166 [Debug] > │ | US0_0 │
23:17:59 #167 [Debug] > │ | US0_1 of f1_0 : int32 │
23:17:59 #168 [Debug] > │ let rec method0 () : unit = │
23:17:59 #169 [Debug] > │ let v3 : US0 = US0_0 │
23:17:59 #170 [Debug] > │ let v4 : US0 = US0_0 │
23:17:59 #171 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:17:59 #172 [Debug] > │ () │
23:17:59 #173 [Debug] > │ method0() │
23:17:59 #174 [Debug] > │ │
23:17:59 #175 [Debug] > │ │
23:17:59 #176 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #177 [Debug] >
23:17:59 #178 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:17:59 #179 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:17:59 #180 [Debug] > │ ## list_item │
23:17:59 #181 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #182 [Debug] >
23:17:59 #183 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:59 #184 [Debug] > inl item i =
23:17:59 #185 [Debug] > try_item i >> optionm.value
23:17:59 #186 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5971-7143-730e1360f63a\main.spi
23:17:59 #187 [Debug] >
23:17:59 #188 [Debug] > ╭─[ 157.29ms - stdout ]────────────────────────────────────────────────────────╮
23:17:59 #189 [Debug] > │ () │
23:17:59 #190 [Debug] > │ │
23:17:59 #191 [Debug] > │ │
23:17:59 #192 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:17:59 #193 [Debug] >
23:17:59 #194 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:17:59 #195 [Debug] > // // test
23:17:59 #196 [Debug] >
23:17:59 #197 [Debug] > listm.init 10i32 id
23:17:59 #198 [Debug] > |> item 9i32
23:17:59 #199 [Debug] > |> _equal 9
23:17:59 #200 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2317-5987-8761-8f1fbbf9babf\main.spi
23:17:59 #201 [Debug] >
23:18:00 #202 [Debug] > ╭─[ 129.29ms - stdout ]────────────────────────────────────────────────────────╮
23:18:00 #203 [Debug] > │ let rec method0 () : unit = │
23:18:00 #204 [Debug] > │ let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}" │
23:18:00 #205 [Debug] > │ () │
23:18:00 #206 [Debug] > │ method0() │
23:18:00 #207 [Debug] > │ │
23:18:00 #208 [Debug] > │ │
23:18:00 #209 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #210 [Debug] >
23:18:00 #211 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:00 #212 [Debug] > // // test
23:18:00 #213 [Debug] >
23:18:00 #214 [Debug] > fun () =>
23:18:00 #215 [Debug] > listm.init 10i32 id
23:18:00 #216 [Debug] > |> item 10i32
23:18:00 #217 [Debug] > |> ignore
23:18:00 #218 [Debug] > |> _throws
23:18:00 #219 [Debug] > |> _equal (Some "Option does not have a value.")
23:18:00 #220 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0000-0065-02b07c2deead\main.spi
23:18:00 #221 [Debug] >
23:18:00 #222 [Debug] > ╭─[ 399.43ms - stdout ]────────────────────────────────────────────────────────╮
23:18:00 #223 [Debug] > │ type [<Struct>] US0 = │
23:18:00 #224 [Debug] > │ | US0_0 │
23:18:00 #225 [Debug] > │ | US0_1 of f1_0 : string │
23:18:00 #226 [Debug] > │ let rec closure0 () () : unit = │
23:18:00 #227 [Debug] > │ let v0 : int32 = failwith<int32> "Option does not have a value." │
23:18:00 #228 [Debug] > │ () │
23:18:00 #229 [Debug] > │ and closure1 () (v0 : string) : US0 = │
23:18:00 #230 [Debug] > │ US0_1(v0) │
23:18:00 #231 [Debug] > │ and method0 () : unit = │
23:18:00 #232 [Debug] > │ let v0 : (unit -> unit) = closure0() │
23:18:00 #233 [Debug] > │ let v1 : US0 = US0_0 │
23:18:00 #234 [Debug] > │ let v2 : (string -> US0) = closure1() │
23:18:00 #235 [Debug] > │ let v3 : US0 = try v0 (); v1 with ex -> v2 ex.Message │
23:18:00 #236 [Debug] > │ let v8 : bool = │
23:18:00 #237 [Debug] > │ match v3 with │
23:18:00 #238 [Debug] > │ | US0_1(v6) -> (* Some *) │
23:18:00 #239 [Debug] > │ let v7 : bool = v6 = "Option does not have a value." │
23:18:00 #240 [Debug] > │ v7 │
23:18:00 #241 [Debug] > │ | _ -> │
23:18:00 #242 [Debug] > │ false │
23:18:00 #243 [Debug] > │ let v9 : string = "Option does not have a value." │
23:18:00 #244 [Debug] > │ let v10 : US0 = US0_1(v9) │
23:18:00 #245 [Debug] > │ let v11 : string = $"_equal / actual: %A{v3} / expected: %A{v10}" │
23:18:00 #246 [Debug] > │ let v12 : bool = v8 = false │
23:18:00 #247 [Debug] > │ if v12 then │
23:18:00 #248 [Debug] > │ failwith<unit> v11 │
23:18:00 #249 [Debug] > │ method0() │
23:18:00 #250 [Debug] > │ │
23:18:00 #251 [Debug] > │ │
23:18:00 #252 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #253 [Debug] >
23:18:00 #254 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:00 #255 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:00 #256 [Debug] > │ ## try_item_ │
23:18:00 #257 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #258 [Debug] >
23:18:00 #259 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:00 #260 [Debug] > let rec try_item_ i = function
23:18:00 #261 [Debug] > | Cons (x, _) when i = 0 => Some x
23:18:00 #262 [Debug] > | Cons (_, xs) => try_item_ (i - 1) xs
23:18:00 #263 [Debug] > | Nil => None
23:18:00 #264 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0043-4330-48bff23ad275\main.spi
23:18:00 #265 [Debug] >
23:18:00 #266 [Debug] > ╭─[ 134.20ms - stdout ]────────────────────────────────────────────────────────╮
23:18:00 #267 [Debug] > │ () │
23:18:00 #268 [Debug] > │ │
23:18:00 #269 [Debug] > │ │
23:18:00 #270 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #271 [Debug] >
23:18:00 #272 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:00 #273 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:00 #274 [Debug] > │ ## item_ │
23:18:00 #275 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #276 [Debug] >
23:18:00 #277 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:00 #278 [Debug] > inl item_ i =
23:18:00 #279 [Debug] > try_item_ i >> optionm.value
23:18:00 #280 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0057-5727-5d880a2ccf2d\main.spi
23:18:00 #281 [Debug] >
23:18:00 #282 [Debug] > ╭─[ 138.94ms - stdout ]────────────────────────────────────────────────────────╮
23:18:00 #283 [Debug] > │ () │
23:18:00 #284 [Debug] > │ │
23:18:00 #285 [Debug] > │ │
23:18:00 #286 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #287 [Debug] >
23:18:00 #288 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:00 #289 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:00 #290 [Debug] > │ ## lazy_list │
23:18:00 #291 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #292 [Debug] >
23:18:00 #293 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:00 #294 [Debug] > union rec lazy_list t =
23:18:00 #295 [Debug] > | LazyCons : t * (() -> lazy_list t)
23:18:00 #296 [Debug] > | LazyNil
23:18:00 #297 [Debug] >
23:18:00 #298 [Debug] > inl rec lazy_list list =
23:18:00 #299 [Debug] > match list with
23:18:00 #300 [Debug] > | [[]] => LazyNil
23:18:00 #301 [Debug] > | x :: xs => LazyCons (x, fun () => lazy_list xs)
23:18:00 #302 [Debug] >
23:18:00 #303 [Debug] > inl rec try_lazy_item i = function
23:18:00 #304 [Debug] > | LazyCons (x, _) when i = 0 => Some x
23:18:00 #305 [Debug] > | LazyCons (_, fn) => try_lazy_item (i - 1) (fn ())
23:18:00 #306 [Debug] > | LazyNil => None
23:18:00 #307 [Debug] >
23:18:00 #308 [Debug] > inl lazy_item i =
23:18:00 #309 [Debug] > try_lazy_item i >> optionm.value
23:18:00 #310 [Debug] >
23:18:00 #311 [Debug] > inl try_lazy_item_ i list =
23:18:00 #312 [Debug] > inl i = mut i
23:18:00 #313 [Debug] > inl list = mut list
23:18:00 #314 [Debug] > let rec loop () =
23:18:00 #315 [Debug] > match *list with
23:18:00 #316 [Debug] > | LazyCons (x, _) when *i = 0 => Some x
23:18:00 #317 [Debug] > | LazyCons (_, fn) =>
23:18:00 #318 [Debug] > i <- *i - 1
23:18:00 #319 [Debug] > list <- fn ()
23:18:00 #320 [Debug] > loop ()
23:18:00 #321 [Debug] > | LazyNil => None
23:18:00 #322 [Debug] > loop ()
23:18:00 #323 [Debug] >
23:18:00 #324 [Debug] > inl lazy_item_ i =
23:18:00 #325 [Debug] > try_lazy_item_ i >> optionm.value
23:18:00 #326 [Debug] >
23:18:00 #327 [Debug] > let rec try_lazy_item__ i list =
23:18:00 #328 [Debug] > inl i = mut i
23:18:00 #329 [Debug] > inl list = mut list
23:18:00 #330 [Debug] > inl result = mut None
23:18:00 #331 [Debug] > let rec loop () =
23:18:00 #332 [Debug] > match *list with
23:18:00 #333 [Debug] > | LazyCons (x, _) when *i = 0 => result <- Some x
23:18:00 #334 [Debug] > | LazyCons (_, fn) =>
23:18:00 #335 [Debug] > i <- *i - 1
23:18:00 #336 [Debug] > list <- fn ()
23:18:00 #337 [Debug] > loop ()
23:18:00 #338 [Debug] > | LazyNil => ()
23:18:00 #339 [Debug] > loop ()
23:18:00 #340 [Debug] > *result
23:18:00 #341 [Debug] >
23:18:00 #342 [Debug] > inl lazy_item__ i =
23:18:00 #343 [Debug] > try_lazy_item__ i >> optionm.value
23:18:00 #344 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0071-7187-728eac726a5f\main.spi
23:18:00 #345 [Debug] >
23:18:00 #346 [Debug] > ╭─[ 130.85ms - stdout ]────────────────────────────────────────────────────────╮
23:18:00 #347 [Debug] > │ () │
23:18:00 #348 [Debug] > │ │
23:18:00 #349 [Debug] > │ │
23:18:00 #350 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #351 [Debug] >
23:18:00 #352 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:00 #353 [Debug] > // // test
23:18:00 #354 [Debug] >
23:18:00 #355 [Debug] > listm.init 10i32 id
23:18:00 #356 [Debug] > |> lazy_list
23:18:00 #357 [Debug] > |> lazy_item 9i32
23:18:00 #358 [Debug] > |> _equal 9
23:18:00 #359 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0085-8508-842b8397b14b\main.spi
23:18:00 #360 [Debug] >
23:18:00 #361 [Debug] > ╭─[ 125.86ms - stdout ]────────────────────────────────────────────────────────╮
23:18:00 #362 [Debug] > │ let rec method0 () : unit = │
23:18:00 #363 [Debug] > │ let v0 : string = $"_equal / actual: %A{9} / expected: %A{9}" │
23:18:00 #364 [Debug] > │ () │
23:18:00 #365 [Debug] > │ method0() │
23:18:00 #366 [Debug] > │ │
23:18:00 #367 [Debug] > │ │
23:18:00 #368 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:00 #369 [Debug] >
23:18:00 #370 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:00 #371 [Debug] > // // test
23:18:00 #372 [Debug] >
23:18:00 #373 [Debug] > listm.init 10i32 id
23:18:00 #374 [Debug] > |> lazy_list
23:18:00 #375 [Debug] > |> lazy_item_ 9i32
23:18:00 #376 [Debug] > |> _equal 9
23:18:01 #377 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0098-9803-941a75c6f771\main.spi
23:18:01 #378 [Debug] >
23:18:01 #379 [Debug] > ╭─[ 520.50ms - stdout ]────────────────────────────────────────────────────────╮
23:18:01 #380 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:18:01 #381 [Debug] > │ and UH0 = │
23:18:01 #382 [Debug] > │ | UH0_0 of int32 * (unit -> UH0) │
23:18:01 #383 [Debug] > │ | UH0_1 │
23:18:01 #384 [Debug] > │ and Mut1 = {mutable l0 : UH0} │
23:18:01 #385 [Debug] > │ and [<Struct>] US0 = │
23:18:01 #386 [Debug] > │ | US0_0 │
23:18:01 #387 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:01 #388 [Debug] > │ let rec closure9 () () : UH0 = │
23:18:01 #389 [Debug] > │ UH0_1 │
23:18:01 #390 [Debug] > │ and closure8 () () : UH0 = │
23:18:01 #391 [Debug] > │ let v0 : (unit -> UH0) = closure9() │
23:18:01 #392 [Debug] > │ UH0_0(9, v0) │
23:18:01 #393 [Debug] > │ and closure7 () () : UH0 = │
23:18:01 #394 [Debug] > │ let v0 : (unit -> UH0) = closure8() │
23:18:01 #395 [Debug] > │ UH0_0(8, v0) │
23:18:01 #396 [Debug] > │ and closure6 () () : UH0 = │
23:18:01 #397 [Debug] > │ let v0 : (unit -> UH0) = closure7() │
23:18:01 #398 [Debug] > │ UH0_0(7, v0) │
23:18:01 #399 [Debug] > │ and closure5 () () : UH0 = │
23:18:01 #400 [Debug] > │ let v0 : (unit -> UH0) = closure6() │
23:18:01 #401 [Debug] > │ UH0_0(6, v0) │
23:18:01 #402 [Debug] > │ and closure4 () () : UH0 = │
23:18:01 #403 [Debug] > │ let v0 : (unit -> UH0) = closure5() │
23:18:01 #404 [Debug] > │ UH0_0(5, v0) │
23:18:01 #405 [Debug] > │ and closure3 () () : UH0 = │
23:18:01 #406 [Debug] > │ let v0 : (unit -> UH0) = closure4() │
23:18:01 #407 [Debug] > │ UH0_0(4, v0) │
23:18:01 #408 [Debug] > │ and closure2 () () : UH0 = │
23:18:01 #409 [Debug] > │ let v0 : (unit -> UH0) = closure3() │
23:18:01 #410 [Debug] > │ UH0_0(3, v0) │
23:18:01 #411 [Debug] > │ and closure1 () () : UH0 = │
23:18:01 #412 [Debug] > │ let v0 : (unit -> UH0) = closure2() │
23:18:01 #413 [Debug] > │ UH0_0(2, v0) │
23:18:01 #414 [Debug] > │ and closure0 () () : UH0 = │
23:18:01 #415 [Debug] > │ let v0 : (unit -> UH0) = closure1() │
23:18:01 #416 [Debug] > │ UH0_0(1, v0) │
23:18:01 #417 [Debug] > │ and method1 (v0 : Mut0, v1 : Mut1) : US0 = │
23:18:01 #418 [Debug] > │ let v2 : UH0 = v1.l0 │
23:18:01 #419 [Debug] > │ match v2 with │
23:18:01 #420 [Debug] > │ | UH0_0(v3, v4) -> (* LazyCons *) │
23:18:01 #421 [Debug] > │ let v5 : int32 = v0.l0 │
23:18:01 #422 [Debug] > │ let v6 : bool = v5 = 0 │
23:18:01 #423 [Debug] > │ if v6 then │
23:18:01 #424 [Debug] > │ US0_1(v3) │
23:18:01 #425 [Debug] > │ else │
23:18:01 #426 [Debug] > │ let v8 : int32 = v0.l0 │
23:18:01 #427 [Debug] > │ let v9 : int32 = v8 - 1 │
23:18:01 #428 [Debug] > │ v0.l0 <- v9 │
23:18:01 #429 [Debug] > │ let v10 : UH0 = v4 () │
23:18:01 #430 [Debug] > │ v1.l0 <- v10 │
23:18:01 #431 [Debug] > │ method1(v0, v1) │
23:18:01 #432 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:01 #433 [Debug] > │ US0_0 │
23:18:01 #434 [Debug] > │ and method0 () : unit = │
23:18:01 #435 [Debug] > │ let v0 : Mut0 = {l0 = 9} : Mut0 │
23:18:01 #436 [Debug] > │ let v1 : (unit -> UH0) = closure0() │
23:18:01 #437 [Debug] > │ let v2 : UH0 = UH0_0(0, v1) │
23:18:01 #438 [Debug] > │ let v3 : Mut1 = {l0 = v2} : Mut1 │
23:18:01 #439 [Debug] > │ let v4 : US0 = method1(v0, v3) │
23:18:01 #440 [Debug] > │ let v8 : int32 = │
23:18:01 #441 [Debug] > │ match v4 with │
23:18:01 #442 [Debug] > │ | US0_0 -> (* None *) │
23:18:01 #443 [Debug] > │ failwith<int32> "Option does not have a value." │
23:18:01 #444 [Debug] > │ | US0_1(v5) -> (* Some *) │
23:18:01 #445 [Debug] > │ v5 │
23:18:01 #446 [Debug] > │ let v9 : bool = v8 = 9 │
23:18:01 #447 [Debug] > │ let v10 : string = $"_equal / actual: %A{v8} / expected: %A{9}" │
23:18:01 #448 [Debug] > │ let v11 : bool = v9 = false │
23:18:01 #449 [Debug] > │ if v11 then │
23:18:01 #450 [Debug] > │ failwith<unit> v10 │
23:18:01 #451 [Debug] > │ method0() │
23:18:01 #452 [Debug] > │ │
23:18:01 #453 [Debug] > │ │
23:18:01 #454 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:01 #455 [Debug] >
23:18:01 #456 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:01 #457 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:01 #458 [Debug] > │ ## new_infinite_lazy_list │
23:18:01 #459 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:01 #460 [Debug] >
23:18:01 #461 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:01 #462 [Debug] > inl new_infinite_lazy_list fn =
23:18:01 #463 [Debug] > inl rec loop n =
23:18:01 #464 [Debug] > LazyCons (fn n, fun () => loop (n + 1))
23:18:01 #465 [Debug] > loop 0
23:18:01 #466 [Debug] >
23:18:01 #467 [Debug] > inl new_infinite_lazy_list_ fn =
23:18:01 #468 [Debug] > let rec loop n =
23:18:01 #469 [Debug] > LazyCons (fn n, fun () => loop (n + 1))
23:18:01 #470 [Debug] > loop 0
23:18:01 #471 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0155-5506-5eb245f0726d\main.spi
23:18:01 #472 [Debug] >
23:18:01 #473 [Debug] > ╭─[ 151.36ms - stdout ]────────────────────────────────────────────────────────╮
23:18:01 #474 [Debug] > │ () │
23:18:01 #475 [Debug] > │ │
23:18:01 #476 [Debug] > │ │
23:18:01 #477 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:01 #478 [Debug] >
23:18:01 #479 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:01 #480 [Debug] > // // test
23:18:01 #481 [Debug] >
23:18:01 #482 [Debug] > new_infinite_lazy_list print_and_return
23:18:01 #483 [Debug] > |> lazy_item 4i32
23:18:01 #484 [Debug] > |> _equal 4i32
23:18:01 #485 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0170-7030-77efc94141cc\main.spi
23:18:01 #486 [Debug] >
23:18:01 #487 [Debug] > ╭─[ 185.37ms - stdout ]────────────────────────────────────────────────────────╮
23:18:01 #488 [Debug] > │ let rec method0 () : unit = │
23:18:01 #489 [Debug] > │ printfn $"print_and_return / x: {0}" │
23:18:01 #490 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:01 #491 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:01 #492 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:01 #493 [Debug] > │ printfn $"print_and_return / x: {4}" │
23:18:01 #494 [Debug] > │ let v0 : string = $"_equal / actual: %A{4} / expected: %A{4}" │
23:18:01 #495 [Debug] > │ () │
23:18:01 #496 [Debug] > │ method0() │
23:18:01 #497 [Debug] > │ │
23:18:01 #498 [Debug] > │ print_and_return / x: 0 │
23:18:01 #499 [Debug] > │ print_and_return / x: 1 │
23:18:01 #500 [Debug] > │ print_and_return / x: 2 │
23:18:01 #501 [Debug] > │ print_and_return / x: 3 │
23:18:01 #502 [Debug] > │ print_and_return / x: 4 │
23:18:01 #503 [Debug] > │ │
23:18:01 #504 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:01 #505 [Debug] >
23:18:01 #506 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:01 #507 [Debug] > inl new_finite_lazy_list fn max =
23:18:01 #508 [Debug] > inl rec loop n =
23:18:01 #509 [Debug] > if n >= max
23:18:01 #510 [Debug] > then LazyNil
23:18:01 #511 [Debug] > else LazyCons (fn n, fun () => loop (n + 1))
23:18:01 #512 [Debug] > loop 0
23:18:01 #513 [Debug] >
23:18:01 #514 [Debug] > inl new_finite_lazy_list_ fn max =
23:18:01 #515 [Debug] > let rec loop n =
23:18:01 #516 [Debug] > if n >= max
23:18:01 #517 [Debug] > then LazyNil
23:18:01 #518 [Debug] > else LazyCons (fn n, fun () => loop (n + 1))
23:18:01 #519 [Debug] > loop 0
23:18:01 #520 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0189-8980-83698a514c92\main.spi
23:18:02 #521 [Debug] >
23:18:02 #522 [Debug] > ╭─[ 169.45ms - stdout ]────────────────────────────────────────────────────────╮
23:18:02 #523 [Debug] > │ () │
23:18:02 #524 [Debug] > │ │
23:18:02 #525 [Debug] > │ │
23:18:02 #526 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:02 #527 [Debug] >
23:18:02 #528 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:02 #529 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:02 #530 [Debug] > │ ## memoize_lazy_list │
23:18:02 #531 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:02 #532 [Debug] >
23:18:02 #533 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:02 #534 [Debug] > union memoized_lazy_list t =
23:18:02 #535 [Debug] > | NotComputed : () -> lazy_list t
23:18:02 #536 [Debug] > | Computed : lazy_list t
23:18:02 #537 [Debug] >
23:18:02 #538 [Debug] > inl memoize_lazy_list list =
23:18:02 #539 [Debug] > inl rec loop list =
23:18:02 #540 [Debug] > inl state = mut (NotComputed list)
23:18:02 #541 [Debug] > fun () =>
23:18:02 #542 [Debug] > match *state with
23:18:02 #543 [Debug] > | Computed x => x
23:18:02 #544 [Debug] > | NotComputed fn =>
23:18:02 #545 [Debug] > inl new_state =
23:18:02 #546 [Debug] > match fn () with
23:18:02 #547 [Debug] > | LazyNil => LazyNil
23:18:02 #548 [Debug] > | LazyCons (x, fn) => LazyCons (x, loop fn)
23:18:02 #549 [Debug] > state <- Computed new_state
23:18:02 #550 [Debug] > new_state
23:18:02 #551 [Debug] > loop (fun () => list)
23:18:02 #552 [Debug] >
23:18:02 #553 [Debug] > inl memoize_lazy_list_ list =
23:18:02 #554 [Debug] > let rec loop list =
23:18:02 #555 [Debug] > inl state = mut (NotComputed list)
23:18:02 #556 [Debug] > fun () =>
23:18:02 #557 [Debug] > match *state with
23:18:02 #558 [Debug] > | Computed x => x
23:18:02 #559 [Debug] > | NotComputed fn =>
23:18:02 #560 [Debug] > inl new_state =
23:18:02 #561 [Debug] > match fn () with
23:18:02 #562 [Debug] > | LazyNil => LazyNil
23:18:02 #563 [Debug] > | LazyCons (x, fn) => LazyCons (x, loop fn)
23:18:02 #564 [Debug] > state <- Computed new_state
23:18:02 #565 [Debug] > new_state
23:18:02 #566 [Debug] > loop (fun () => list)
23:18:02 #567 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0207-0750-02346bf9ace8\main.spi
23:18:02 #568 [Debug] >
23:18:02 #569 [Debug] > ╭─[ 146.61ms - stdout ]────────────────────────────────────────────────────────╮
23:18:02 #570 [Debug] > │ () │
23:18:02 #571 [Debug] > │ │
23:18:02 #572 [Debug] > │ │
23:18:02 #573 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:02 #574 [Debug] >
23:18:02 #575 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:02 #576 [Debug] > // // test
23:18:02 #577 [Debug] >
23:18:02 #578 [Debug] > inl memo_list = new_finite_lazy_list print_and_return 10 |> memoize_lazy_list
23:18:02 #579 [Debug] >
23:18:02 #580 [Debug] > memo_list ()
23:18:02 #581 [Debug] > |> lazy_item 3i32
23:18:02 #582 [Debug] > |> _equal 3i32
23:18:02 #583 [Debug] >
23:18:02 #584 [Debug] > memo_list ()
23:18:02 #585 [Debug] > |> lazy_item 5i32
23:18:02 #586 [Debug] > |> _equal 5i32
23:18:02 #587 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0222-2226-2429f204141b\main.spi
23:18:02 #588 [Debug] >
23:18:02 #589 [Debug] > ╭─[ 296.90ms - stdout ]────────────────────────────────────────────────────────╮
23:18:02 #590 [Debug] > │ type UH0 = │
23:18:02 #591 [Debug] > │ | UH0_0 of int32 * (unit -> UH0) │
23:18:02 #592 [Debug] > │ | UH0_1 │
23:18:02 #593 [Debug] > │ and [<Struct>] US0 = │
23:18:02 #594 [Debug] > │ | US0_0 of f0_0 : UH0 │
23:18:02 #595 [Debug] > │ | US0_1 of f1_0 : (unit -> UH0) │
23:18:02 #596 [Debug] > │ and Mut0 = {mutable l0 : US0} │
23:18:02 #597 [Debug] > │ and [<Struct>] US1 = │
23:18:02 #598 [Debug] > │ | US1_0 │
23:18:02 #599 [Debug] > │ | US1_1 of f1_0 : int32 │
23:18:02 #600 [Debug] > │ let rec closure10 () () : UH0 = │
23:18:02 #601 [Debug] > │ UH0_1 │
23:18:02 #602 [Debug] > │ and closure9 () () : UH0 = │
23:18:02 #603 [Debug] > │ printfn $"print_and_return / x: {9}" │
23:18:02 #604 [Debug] > │ let v0 : (unit -> UH0) = closure10() │
23:18:02 #605 [Debug] > │ UH0_0(9, v0) │
23:18:02 #606 [Debug] > │ and closure8 () () : UH0 = │
23:18:02 #607 [Debug] > │ printfn $"print_and_return / x: {8}" │
23:18:02 #608 [Debug] > │ let v0 : (unit -> UH0) = closure9() │
23:18:02 #609 [Debug] > │ UH0_0(8, v0) │
23:18:02 #610 [Debug] > │ and closure7 () () : UH0 = │
23:18:02 #611 [Debug] > │ printfn $"print_and_return / x: {7}" │
23:18:02 #612 [Debug] > │ let v0 : (unit -> UH0) = closure8() │
23:18:02 #613 [Debug] > │ UH0_0(7, v0) │
23:18:02 #614 [Debug] > │ and closure6 () () : UH0 = │
23:18:02 #615 [Debug] > │ printfn $"print_and_return / x: {6}" │
23:18:02 #616 [Debug] > │ let v0 : (unit -> UH0) = closure7() │
23:18:02 #617 [Debug] > │ UH0_0(6, v0) │
23:18:02 #618 [Debug] > │ and closure5 () () : UH0 = │
23:18:02 #619 [Debug] > │ printfn $"print_and_return / x: {5}" │
23:18:02 #620 [Debug] > │ let v0 : (unit -> UH0) = closure6() │
23:18:02 #621 [Debug] > │ UH0_0(5, v0) │
23:18:02 #622 [Debug] > │ and closure4 () () : UH0 = │
23:18:02 #623 [Debug] > │ printfn $"print_and_return / x: {4}" │
23:18:02 #624 [Debug] > │ let v0 : (unit -> UH0) = closure5() │
23:18:02 #625 [Debug] > │ UH0_0(4, v0) │
23:18:02 #626 [Debug] > │ and closure3 () () : UH0 = │
23:18:02 #627 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:02 #628 [Debug] > │ let v0 : (unit -> UH0) = closure4() │
23:18:02 #629 [Debug] > │ UH0_0(3, v0) │
23:18:02 #630 [Debug] > │ and closure2 () () : UH0 = │
23:18:02 #631 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:02 #632 [Debug] > │ let v0 : (unit -> UH0) = closure3() │
23:18:02 #633 [Debug] > │ UH0_0(2, v0) │
23:18:02 #634 [Debug] > │ and closure1 () () : UH0 = │
23:18:02 #635 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:02 #636 [Debug] > │ let v0 : (unit -> UH0) = closure2() │
23:18:02 #637 [Debug] > │ UH0_0(1, v0) │
23:18:02 #638 [Debug] > │ and closure0 () () : UH0 = │
23:18:02 #639 [Debug] > │ let v0 : (unit -> UH0) = closure1() │
23:18:02 #640 [Debug] > │ UH0_0(0, v0) │
23:18:02 #641 [Debug] > │ and closure11 (v0 : Mut0) () : UH0 = │
23:18:02 #642 [Debug] > │ let v1 : US0 = v0.l0 │
23:18:02 #643 [Debug] > │ match v1 with │
23:18:02 #644 [Debug] > │ | US0_0(v2) -> (* Computed *) │
23:18:02 #645 [Debug] > │ v2 │
23:18:02 #646 [Debug] > │ | US0_1(v3) -> (* NotComputed *) │
23:18:02 #647 [Debug] > │ let v4 : UH0 = v3 () │
23:18:02 #648 [Debug] > │ let v13 : UH0 = │
23:18:02 #649 [Debug] > │ match v4 with │
23:18:02 #650 [Debug] > │ | UH0_0(v6, v7) -> (* LazyCons *) │
23:18:02 #651 [Debug] > │ let v8 : US0 = US0_1(v7) │
23:18:02 #652 [Debug] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │
23:18:02 #653 [Debug] > │ let v10 : (unit -> UH0) = closure11(v9) │
23:18:02 #654 [Debug] > │ UH0_0(v6, v10) │
23:18:02 #655 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #656 [Debug] > │ UH0_1 │
23:18:02 #657 [Debug] > │ let v14 : US0 = US0_0(v13) │
23:18:02 #658 [Debug] > │ v0.l0 <- v14 │
23:18:02 #659 [Debug] > │ v13 │
23:18:02 #660 [Debug] > │ and method0 () : unit = │
23:18:02 #661 [Debug] > │ printfn $"print_and_return / x: {0}" │
23:18:02 #662 [Debug] > │ let v0 : (unit -> UH0) = closure0() │
23:18:02 #663 [Debug] > │ let v1 : US0 = US0_1(v0) │
23:18:02 #664 [Debug] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │
23:18:02 #665 [Debug] > │ let v3 : US0 = v2.l0 │
23:18:02 #666 [Debug] > │ let v18 : UH0 = │
23:18:02 #667 [Debug] > │ match v3 with │
23:18:02 #668 [Debug] > │ | US0_0(v4) -> (* Computed *) │
23:18:02 #669 [Debug] > │ v4 │
23:18:02 #670 [Debug] > │ | US0_1(v5) -> (* NotComputed *) │
23:18:02 #671 [Debug] > │ let v6 : UH0 = v5 () │
23:18:02 #672 [Debug] > │ let v15 : UH0 = │
23:18:02 #673 [Debug] > │ match v6 with │
23:18:02 #674 [Debug] > │ | UH0_0(v8, v9) -> (* LazyCons *) │
23:18:02 #675 [Debug] > │ let v10 : US0 = US0_1(v9) │
23:18:02 #676 [Debug] > │ let v11 : Mut0 = {l0 = v10} : Mut0 │
23:18:02 #677 [Debug] > │ let v12 : (unit -> UH0) = closure11(v11) │
23:18:02 #678 [Debug] > │ UH0_0(v8, v12) │
23:18:02 #679 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #680 [Debug] > │ UH0_1 │
23:18:02 #681 [Debug] > │ let v16 : US0 = US0_0(v15) │
23:18:02 #682 [Debug] > │ v2.l0 <- v16 │
23:18:02 #683 [Debug] > │ v15 │
23:18:02 #684 [Debug] > │ let v42 : US1 = │
23:18:02 #685 [Debug] > │ match v18 with │
23:18:02 #686 [Debug] > │ | UH0_0(v19, v20) -> (* LazyCons *) │
23:18:02 #687 [Debug] > │ let v21 : UH0 = v20 () │
23:18:02 #688 [Debug] > │ match v21 with │
23:18:02 #689 [Debug] > │ | UH0_0(v22, v23) -> (* LazyCons *) │
23:18:02 #690 [Debug] > │ let v24 : UH0 = v23 () │
23:18:02 #691 [Debug] > │ match v24 with │
23:18:02 #692 [Debug] > │ | UH0_0(v25, v26) -> (* LazyCons *) │
23:18:02 #693 [Debug] > │ let v27 : UH0 = v26 () │
23:18:02 #694 [Debug] > │ match v27 with │
23:18:02 #695 [Debug] > │ | UH0_0(v28, v29) -> (* LazyCons *) │
23:18:02 #696 [Debug] > │ US1_1(v28) │
23:18:02 #697 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #698 [Debug] > │ US1_0 │
23:18:02 #699 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #700 [Debug] > │ US1_0 │
23:18:02 #701 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #702 [Debug] > │ US1_0 │
23:18:02 #703 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #704 [Debug] > │ US1_0 │
23:18:02 #705 [Debug] > │ let v46 : int32 = │
23:18:02 #706 [Debug] > │ match v42 with │
23:18:02 #707 [Debug] > │ | US1_0 -> (* None *) │
23:18:02 #708 [Debug] > │ failwith<int32> "Option does not have a value." │
23:18:02 #709 [Debug] > │ | US1_1(v43) -> (* Some *) │
23:18:02 #710 [Debug] > │ v43 │
23:18:02 #711 [Debug] > │ let v47 : bool = v46 = 3 │
23:18:02 #712 [Debug] > │ let v48 : string = $"_equal / actual: %A{v46} / expected: %A{3}" │
23:18:02 #713 [Debug] > │ let v49 : bool = v47 = false │
23:18:02 #714 [Debug] > │ if v49 then │
23:18:02 #715 [Debug] > │ failwith<unit> v48 │
23:18:02 #716 [Debug] > │ let v50 : US0 = v2.l0 │
23:18:02 #717 [Debug] > │ let v65 : UH0 = │
23:18:02 #718 [Debug] > │ match v50 with │
23:18:02 #719 [Debug] > │ | US0_0(v51) -> (* Computed *) │
23:18:02 #720 [Debug] > │ v51 │
23:18:02 #721 [Debug] > │ | US0_1(v52) -> (* NotComputed *) │
23:18:02 #722 [Debug] > │ let v53 : UH0 = v52 () │
23:18:02 #723 [Debug] > │ let v62 : UH0 = │
23:18:02 #724 [Debug] > │ match v53 with │
23:18:02 #725 [Debug] > │ | UH0_0(v55, v56) -> (* LazyCons *) │
23:18:02 #726 [Debug] > │ let v57 : US0 = US0_1(v56) │
23:18:02 #727 [Debug] > │ let v58 : Mut0 = {l0 = v57} : Mut0 │
23:18:02 #728 [Debug] > │ let v59 : (unit -> UH0) = closure11(v58) │
23:18:02 #729 [Debug] > │ UH0_0(v55, v59) │
23:18:02 #730 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #731 [Debug] > │ UH0_1 │
23:18:02 #732 [Debug] > │ let v63 : US0 = US0_0(v62) │
23:18:02 #733 [Debug] > │ v2.l0 <- v63 │
23:18:02 #734 [Debug] > │ v62 │
23:18:02 #735 [Debug] > │ let v101 : US1 = │
23:18:02 #736 [Debug] > │ match v65 with │
23:18:02 #737 [Debug] > │ | UH0_0(v66, v67) -> (* LazyCons *) │
23:18:02 #738 [Debug] > │ let v68 : UH0 = v67 () │
23:18:02 #739 [Debug] > │ match v68 with │
23:18:02 #740 [Debug] > │ | UH0_0(v69, v70) -> (* LazyCons *) │
23:18:02 #741 [Debug] > │ let v71 : UH0 = v70 () │
23:18:02 #742 [Debug] > │ match v71 with │
23:18:02 #743 [Debug] > │ | UH0_0(v72, v73) -> (* LazyCons *) │
23:18:02 #744 [Debug] > │ let v74 : UH0 = v73 () │
23:18:02 #745 [Debug] > │ match v74 with │
23:18:02 #746 [Debug] > │ | UH0_0(v75, v76) -> (* LazyCons *) │
23:18:02 #747 [Debug] > │ let v77 : UH0 = v76 () │
23:18:02 #748 [Debug] > │ match v77 with │
23:18:02 #749 [Debug] > │ | UH0_0(v78, v79) -> (* LazyCons *) │
23:18:02 #750 [Debug] > │ let v80 : UH0 = v79 () │
23:18:02 #751 [Debug] > │ match v80 with │
23:18:02 #752 [Debug] > │ | UH0_0(v81, v82) -> (* LazyCons *) │
23:18:02 #753 [Debug] > │ US1_1(v81) │
23:18:02 #754 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #755 [Debug] > │ US1_0 │
23:18:02 #756 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #757 [Debug] > │ US1_0 │
23:18:02 #758 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #759 [Debug] > │ US1_0 │
23:18:02 #760 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #761 [Debug] > │ US1_0 │
23:18:02 #762 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #763 [Debug] > │ US1_0 │
23:18:02 #764 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #765 [Debug] > │ US1_0 │
23:18:02 #766 [Debug] > │ let v105 : int32 = │
23:18:02 #767 [Debug] > │ match v101 with │
23:18:02 #768 [Debug] > │ | US1_0 -> (* None *) │
23:18:02 #769 [Debug] > │ failwith<int32> "Option does not have a value." │
23:18:02 #770 [Debug] > │ | US1_1(v102) -> (* Some *) │
23:18:02 #771 [Debug] > │ v102 │
23:18:02 #772 [Debug] > │ let v106 : bool = v105 = 5 │
23:18:02 #773 [Debug] > │ let v107 : string = $"_equal / actual: %A{v105} / expected: %A{5}" │
23:18:02 #774 [Debug] > │ let v108 : bool = v106 = false │
23:18:02 #775 [Debug] > │ if v108 then │
23:18:02 #776 [Debug] > │ failwith<unit> v107 │
23:18:02 #777 [Debug] > │ method0() │
23:18:02 #778 [Debug] > │ │
23:18:02 #779 [Debug] > │ print_and_return / x: 0 │
23:18:02 #780 [Debug] > │ print_and_return / x: 1 │
23:18:02 #781 [Debug] > │ print_and_return / x: 2 │
23:18:02 #782 [Debug] > │ print_and_return / x: 3 │
23:18:02 #783 [Debug] > │ print_and_return / x: 4 │
23:18:02 #784 [Debug] > │ print_and_return / x: 5 │
23:18:02 #785 [Debug] > │ │
23:18:02 #786 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:02 #787 [Debug] >
23:18:02 #788 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:02 #789 [Debug] > // // test
23:18:02 #790 [Debug] >
23:18:02 #791 [Debug] > inl memo_list = new_infinite_lazy_list_ print_and_return |> memoize_lazy_list
23:18:02 #792 [Debug] >
23:18:02 #793 [Debug] > memo_list ()
23:18:02 #794 [Debug] > |> lazy_item 3i32
23:18:02 #795 [Debug] > |> _equal 3i32
23:18:02 #796 [Debug] >
23:18:02 #797 [Debug] > memo_list ()
23:18:02 #798 [Debug] > |> lazy_item 5i32
23:18:02 #799 [Debug] > |> _equal 5i32
23:18:02 #800 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0261-6149-6b9ba1d71dff\main.spi
23:18:02 #801 [Debug] >
23:18:02 #802 [Debug] > ╭─[ 262.76ms - stdout ]────────────────────────────────────────────────────────╮
23:18:02 #803 [Debug] > │ type UH0 = │
23:18:02 #804 [Debug] > │ | UH0_0 of int32 * (unit -> UH0) │
23:18:02 #805 [Debug] > │ | UH0_1 │
23:18:02 #806 [Debug] > │ and [<Struct>] US0 = │
23:18:02 #807 [Debug] > │ | US0_0 of f0_0 : UH0 │
23:18:02 #808 [Debug] > │ | US0_1 of f1_0 : (unit -> UH0) │
23:18:02 #809 [Debug] > │ and Mut0 = {mutable l0 : US0} │
23:18:02 #810 [Debug] > │ and [<Struct>] US1 = │
23:18:02 #811 [Debug] > │ | US1_0 │
23:18:02 #812 [Debug] > │ | US1_1 of f1_0 : int32 │
23:18:02 #813 [Debug] > │ let rec closure0 (v0 : int32) () : UH0 = │
23:18:02 #814 [Debug] > │ let v1 : int32 = v0 + 1 │
23:18:02 #815 [Debug] > │ method1(v1) │
23:18:02 #816 [Debug] > │ and method1 (v0 : int32) : UH0 = │
23:18:02 #817 [Debug] > │ printfn $"print_and_return / x: {v0}" │
23:18:02 #818 [Debug] > │ let v1 : (unit -> UH0) = closure0(v0) │
23:18:02 #819 [Debug] > │ UH0_0(v0, v1) │
23:18:02 #820 [Debug] > │ and closure1 (v0 : UH0) () : UH0 = │
23:18:02 #821 [Debug] > │ v0 │
23:18:02 #822 [Debug] > │ and closure2 (v0 : Mut0) () : UH0 = │
23:18:02 #823 [Debug] > │ let v1 : US0 = v0.l0 │
23:18:02 #824 [Debug] > │ match v1 with │
23:18:02 #825 [Debug] > │ | US0_0(v2) -> (* Computed *) │
23:18:02 #826 [Debug] > │ v2 │
23:18:02 #827 [Debug] > │ | US0_1(v3) -> (* NotComputed *) │
23:18:02 #828 [Debug] > │ let v4 : UH0 = v3 () │
23:18:02 #829 [Debug] > │ let v13 : UH0 = │
23:18:02 #830 [Debug] > │ match v4 with │
23:18:02 #831 [Debug] > │ | UH0_0(v6, v7) -> (* LazyCons *) │
23:18:02 #832 [Debug] > │ let v8 : US0 = US0_1(v7) │
23:18:02 #833 [Debug] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │
23:18:02 #834 [Debug] > │ let v10 : (unit -> UH0) = closure2(v9) │
23:18:02 #835 [Debug] > │ UH0_0(v6, v10) │
23:18:02 #836 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #837 [Debug] > │ UH0_1 │
23:18:02 #838 [Debug] > │ let v14 : US0 = US0_0(v13) │
23:18:02 #839 [Debug] > │ v0.l0 <- v14 │
23:18:02 #840 [Debug] > │ v13 │
23:18:02 #841 [Debug] > │ and method0 () : unit = │
23:18:02 #842 [Debug] > │ let v0 : int32 = 0 │
23:18:02 #843 [Debug] > │ let v1 : UH0 = method1(v0) │
23:18:02 #844 [Debug] > │ let v2 : (unit -> UH0) = closure1(v1) │
23:18:02 #845 [Debug] > │ let v3 : US0 = US0_1(v2) │
23:18:02 #846 [Debug] > │ let v4 : Mut0 = {l0 = v3} : Mut0 │
23:18:02 #847 [Debug] > │ let v5 : US0 = v4.l0 │
23:18:02 #848 [Debug] > │ let v20 : UH0 = │
23:18:02 #849 [Debug] > │ match v5 with │
23:18:02 #850 [Debug] > │ | US0_0(v6) -> (* Computed *) │
23:18:02 #851 [Debug] > │ v6 │
23:18:02 #852 [Debug] > │ | US0_1(v7) -> (* NotComputed *) │
23:18:02 #853 [Debug] > │ let v8 : UH0 = v7 () │
23:18:02 #854 [Debug] > │ let v17 : UH0 = │
23:18:02 #855 [Debug] > │ match v8 with │
23:18:02 #856 [Debug] > │ | UH0_0(v10, v11) -> (* LazyCons *) │
23:18:02 #857 [Debug] > │ let v12 : US0 = US0_1(v11) │
23:18:02 #858 [Debug] > │ let v13 : Mut0 = {l0 = v12} : Mut0 │
23:18:02 #859 [Debug] > │ let v14 : (unit -> UH0) = closure2(v13) │
23:18:02 #860 [Debug] > │ UH0_0(v10, v14) │
23:18:02 #861 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #862 [Debug] > │ UH0_1 │
23:18:02 #863 [Debug] > │ let v18 : US0 = US0_0(v17) │
23:18:02 #864 [Debug] > │ v4.l0 <- v18 │
23:18:02 #865 [Debug] > │ v17 │
23:18:02 #866 [Debug] > │ let v44 : US1 = │
23:18:02 #867 [Debug] > │ match v20 with │
23:18:02 #868 [Debug] > │ | UH0_0(v21, v22) -> (* LazyCons *) │
23:18:02 #869 [Debug] > │ let v23 : UH0 = v22 () │
23:18:02 #870 [Debug] > │ match v23 with │
23:18:02 #871 [Debug] > │ | UH0_0(v24, v25) -> (* LazyCons *) │
23:18:02 #872 [Debug] > │ let v26 : UH0 = v25 () │
23:18:02 #873 [Debug] > │ match v26 with │
23:18:02 #874 [Debug] > │ | UH0_0(v27, v28) -> (* LazyCons *) │
23:18:02 #875 [Debug] > │ let v29 : UH0 = v28 () │
23:18:02 #876 [Debug] > │ match v29 with │
23:18:02 #877 [Debug] > │ | UH0_0(v30, v31) -> (* LazyCons *) │
23:18:02 #878 [Debug] > │ US1_1(v30) │
23:18:02 #879 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #880 [Debug] > │ US1_0 │
23:18:02 #881 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #882 [Debug] > │ US1_0 │
23:18:02 #883 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #884 [Debug] > │ US1_0 │
23:18:02 #885 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #886 [Debug] > │ US1_0 │
23:18:02 #887 [Debug] > │ let v48 : int32 = │
23:18:02 #888 [Debug] > │ match v44 with │
23:18:02 #889 [Debug] > │ | US1_0 -> (* None *) │
23:18:02 #890 [Debug] > │ failwith<int32> "Option does not have a value." │
23:18:02 #891 [Debug] > │ | US1_1(v45) -> (* Some *) │
23:18:02 #892 [Debug] > │ v45 │
23:18:02 #893 [Debug] > │ let v49 : bool = v48 = 3 │
23:18:02 #894 [Debug] > │ let v50 : string = $"_equal / actual: %A{v48} / expected: %A{3}" │
23:18:02 #895 [Debug] > │ let v51 : bool = v49 = false │
23:18:02 #896 [Debug] > │ if v51 then │
23:18:02 #897 [Debug] > │ failwith<unit> v50 │
23:18:02 #898 [Debug] > │ let v52 : US0 = v4.l0 │
23:18:02 #899 [Debug] > │ let v67 : UH0 = │
23:18:02 #900 [Debug] > │ match v52 with │
23:18:02 #901 [Debug] > │ | US0_0(v53) -> (* Computed *) │
23:18:02 #902 [Debug] > │ v53 │
23:18:02 #903 [Debug] > │ | US0_1(v54) -> (* NotComputed *) │
23:18:02 #904 [Debug] > │ let v55 : UH0 = v54 () │
23:18:02 #905 [Debug] > │ let v64 : UH0 = │
23:18:02 #906 [Debug] > │ match v55 with │
23:18:02 #907 [Debug] > │ | UH0_0(v57, v58) -> (* LazyCons *) │
23:18:02 #908 [Debug] > │ let v59 : US0 = US0_1(v58) │
23:18:02 #909 [Debug] > │ let v60 : Mut0 = {l0 = v59} : Mut0 │
23:18:02 #910 [Debug] > │ let v61 : (unit -> UH0) = closure2(v60) │
23:18:02 #911 [Debug] > │ UH0_0(v57, v61) │
23:18:02 #912 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #913 [Debug] > │ UH0_1 │
23:18:02 #914 [Debug] > │ let v65 : US0 = US0_0(v64) │
23:18:02 #915 [Debug] > │ v4.l0 <- v65 │
23:18:02 #916 [Debug] > │ v64 │
23:18:02 #917 [Debug] > │ let v103 : US1 = │
23:18:02 #918 [Debug] > │ match v67 with │
23:18:02 #919 [Debug] > │ | UH0_0(v68, v69) -> (* LazyCons *) │
23:18:02 #920 [Debug] > │ let v70 : UH0 = v69 () │
23:18:02 #921 [Debug] > │ match v70 with │
23:18:02 #922 [Debug] > │ | UH0_0(v71, v72) -> (* LazyCons *) │
23:18:02 #923 [Debug] > │ let v73 : UH0 = v72 () │
23:18:02 #924 [Debug] > │ match v73 with │
23:18:02 #925 [Debug] > │ | UH0_0(v74, v75) -> (* LazyCons *) │
23:18:02 #926 [Debug] > │ let v76 : UH0 = v75 () │
23:18:02 #927 [Debug] > │ match v76 with │
23:18:02 #928 [Debug] > │ | UH0_0(v77, v78) -> (* LazyCons *) │
23:18:02 #929 [Debug] > │ let v79 : UH0 = v78 () │
23:18:02 #930 [Debug] > │ match v79 with │
23:18:02 #931 [Debug] > │ | UH0_0(v80, v81) -> (* LazyCons *) │
23:18:02 #932 [Debug] > │ let v82 : UH0 = v81 () │
23:18:02 #933 [Debug] > │ match v82 with │
23:18:02 #934 [Debug] > │ | UH0_0(v83, v84) -> (* LazyCons *) │
23:18:02 #935 [Debug] > │ US1_1(v83) │
23:18:02 #936 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #937 [Debug] > │ US1_0 │
23:18:02 #938 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #939 [Debug] > │ US1_0 │
23:18:02 #940 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #941 [Debug] > │ US1_0 │
23:18:02 #942 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #943 [Debug] > │ US1_0 │
23:18:02 #944 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #945 [Debug] > │ US1_0 │
23:18:02 #946 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:02 #947 [Debug] > │ US1_0 │
23:18:02 #948 [Debug] > │ let v107 : int32 = │
23:18:02 #949 [Debug] > │ match v103 with │
23:18:02 #950 [Debug] > │ | US1_0 -> (* None *) │
23:18:02 #951 [Debug] > │ failwith<int32> "Option does not have a value." │
23:18:02 #952 [Debug] > │ | US1_1(v104) -> (* Some *) │
23:18:02 #953 [Debug] > │ v104 │
23:18:02 #954 [Debug] > │ let v108 : bool = v107 = 5 │
23:18:02 #955 [Debug] > │ let v109 : string = $"_equal / actual: %A{v107} / expected: %A{5}" │
23:18:02 #956 [Debug] > │ let v110 : bool = v108 = false │
23:18:02 #957 [Debug] > │ if v110 then │
23:18:02 #958 [Debug] > │ failwith<unit> v109 │
23:18:02 #959 [Debug] > │ method0() │
23:18:02 #960 [Debug] > │ │
23:18:02 #961 [Debug] > │ print_and_return / x: 0 │
23:18:02 #962 [Debug] > │ print_and_return / x: 1 │
23:18:02 #963 [Debug] > │ print_and_return / x: 2 │
23:18:02 #964 [Debug] > │ print_and_return / x: 3 │
23:18:02 #965 [Debug] > │ print_and_return / x: 4 │
23:18:02 #966 [Debug] > │ print_and_return / x: 5 │
23:18:02 #967 [Debug] > │ │
23:18:02 #968 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:02 #969 [Debug] >
23:18:02 #970 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:02 #971 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:02 #972 [Debug] > │ ## sum │
23:18:02 #973 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:02 #974 [Debug] >
23:18:02 #975 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:02 #976 [Debug] > inl sum list =
23:18:02 #977 [Debug] > list |> listm.fold (+) 0
23:18:03 #978 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0295-9527-9edb542bb390\main.spi
23:18:03 #979 [Debug] >
23:18:03 #980 [Debug] > ╭─[ 171.91ms - stdout ]────────────────────────────────────────────────────────╮
23:18:03 #981 [Debug] > │ () │
23:18:03 #982 [Debug] > │ │
23:18:03 #983 [Debug] > │ │
23:18:03 #984 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #985 [Debug] >
23:18:03 #986 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:03 #987 [Debug] > // // test
23:18:03 #988 [Debug] >
23:18:03 #989 [Debug] > listm.init 10i32 id
23:18:03 #990 [Debug] > |> sum
23:18:03 #991 [Debug] > |> _equal 45
23:18:03 #992 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0312-1258-1d8110d7c7a5\main.spi
23:18:03 #993 [Debug] >
23:18:03 #994 [Debug] > ╭─[ 221.15ms - stdout ]────────────────────────────────────────────────────────╮
23:18:03 #995 [Debug] > │ let rec method0 () : unit = │
23:18:03 #996 [Debug] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
23:18:03 #997 [Debug] > │ () │
23:18:03 #998 [Debug] > │ method0() │
23:18:03 #999 [Debug] > │ │
23:18:03 #1000 [Debug] > │ │
23:18:03 #1001 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1002 [Debug] >
23:18:03 #1003 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:03 #1004 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:03 #1005 [Debug] > │ ## unzip │
23:18:03 #1006 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1007 [Debug] >
23:18:03 #1008 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:03 #1009 [Debug] > inl unzip list =
23:18:03 #1010 [Debug] > list
23:18:03 #1011 [Debug] > |> listm.fold
23:18:03 #1012 [Debug] > (fun (acc_x, acc_y) (x, y) =>
23:18:03 #1013 [Debug] > x :: acc_x, y :: acc_y
23:18:03 #1014 [Debug] > )
23:18:03 #1015 [Debug] > ([[]], [[]])
23:18:03 #1016 [Debug] > |> fun x, y =>
23:18:03 #1017 [Debug] > x |> listm.rev, y |> listm.rev
23:18:03 #1018 [Debug] >
23:18:03 #1019 [Debug] > inl unzip_ list =
23:18:03 #1020 [Debug] > let rec loop acc_x acc_y = function
23:18:03 #1021 [Debug] > | Cons ((x, y), xs) => loop (x :: acc_x) (y :: acc_y) xs
23:18:03 #1022 [Debug] > | Nil => acc_x |> listm.rev, acc_y |> listm.rev
23:18:03 #1023 [Debug] > loop [[]] [[]] list
23:18:03 #1024 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0335-3541-3a05bbcd363b\main.spi
23:18:03 #1025 [Debug] >
23:18:03 #1026 [Debug] > ╭─[ 130.87ms - stdout ]────────────────────────────────────────────────────────╮
23:18:03 #1027 [Debug] > │ () │
23:18:03 #1028 [Debug] > │ │
23:18:03 #1029 [Debug] > │ │
23:18:03 #1030 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1031 [Debug] >
23:18:03 #1032 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:03 #1033 [Debug] > // // test
23:18:03 #1034 [Debug] >
23:18:03 #1035 [Debug] > listm.init 10i32 id
23:18:03 #1036 [Debug] > |> listm.map (fun x => x, x)
23:18:03 #1037 [Debug] > |> unzip
23:18:03 #1038 [Debug] > |> fun x, y =>
23:18:03 #1039 [Debug] > x |> sum
23:18:03 #1040 [Debug] > |> _equal 45
23:18:03 #1041 [Debug] >
23:18:03 #1042 [Debug] > y |> sum
23:18:03 #1043 [Debug] > |> _equal 45
23:18:03 #1044 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0348-4892-46a97226d1a1\main.spi
23:18:03 #1045 [Debug] >
23:18:03 #1046 [Debug] > ╭─[ 151.53ms - stdout ]────────────────────────────────────────────────────────╮
23:18:03 #1047 [Debug] > │ let rec method0 () : unit = │
23:18:03 #1048 [Debug] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
23:18:03 #1049 [Debug] > │ let v1 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
23:18:03 #1050 [Debug] > │ () │
23:18:03 #1051 [Debug] > │ method0() │
23:18:03 #1052 [Debug] > │ │
23:18:03 #1053 [Debug] > │ │
23:18:03 #1054 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1055 [Debug] >
23:18:03 #1056 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:03 #1057 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:03 #1058 [Debug] > │ ## try_index_of │
23:18:03 #1059 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1060 [Debug] >
23:18:03 #1061 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:03 #1062 [Debug] > inl try_index_of item list =
23:18:03 #1063 [Debug] > inl rec loop i = function
23:18:03 #1064 [Debug] > | [[]] => None
23:18:03 #1065 [Debug] > | x :: xs =>
23:18:03 #1066 [Debug] > if x = item
23:18:03 #1067 [Debug] > then Some i
23:18:03 #1068 [Debug] > else loop (i + 1) xs
23:18:03 #1069 [Debug] > loop 0 list
23:18:03 #1070 [Debug] >
23:18:03 #1071 [Debug] > inl index_of item =
23:18:03 #1072 [Debug] > try_index_of item >> optionm.value
23:18:03 #1073 [Debug] >
23:18:03 #1074 [Debug] > inl try_index_of_ item list =
23:18:03 #1075 [Debug] > let rec loop i = function
23:18:03 #1076 [Debug] > | [[]] => None
23:18:03 #1077 [Debug] > | x :: xs =>
23:18:03 #1078 [Debug] > if x = item
23:18:03 #1079 [Debug] > then Some i
23:18:03 #1080 [Debug] > else loop (i + 1) xs
23:18:03 #1081 [Debug] > loop 0 list
23:18:03 #1082 [Debug] >
23:18:03 #1083 [Debug] > inl index_of_ item =
23:18:03 #1084 [Debug] > try_index_of_ item >> optionm.value
23:18:03 #1085 [Debug] >
23:18:03 #1086 [Debug] > inl try_index_of__ item list =
23:18:03 #1087 [Debug] > inl i = mut 0
23:18:03 #1088 [Debug] > inl list = mut list
23:18:03 #1089 [Debug] > inl result = mut None
23:18:03 #1090 [Debug] > let rec loop () =
23:18:03 #1091 [Debug] > match *list with
23:18:03 #1092 [Debug] > | [[]] => result <- None
23:18:03 #1093 [Debug] > | x :: xs =>
23:18:03 #1094 [Debug] > if x = item
23:18:03 #1095 [Debug] > then result <- Some *i
23:18:03 #1096 [Debug] > else
23:18:03 #1097 [Debug] > i <- *i + 1
23:18:03 #1098 [Debug] > list <- xs
23:18:03 #1099 [Debug] > loop ()
23:18:03 #1100 [Debug] > loop ()
23:18:03 #1101 [Debug] > *result
23:18:03 #1102 [Debug] >
23:18:03 #1103 [Debug] > inl index_of__ item =
23:18:03 #1104 [Debug] > try_index_of__ item >> optionm.value
23:18:03 #1105 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0364-6485-68b88acd3402\main.spi
23:18:03 #1106 [Debug] >
23:18:03 #1107 [Debug] > ╭─[ 126.15ms - stdout ]────────────────────────────────────────────────────────╮
23:18:03 #1108 [Debug] > │ () │
23:18:03 #1109 [Debug] > │ │
23:18:03 #1110 [Debug] > │ │
23:18:03 #1111 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1112 [Debug] >
23:18:03 #1113 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:03 #1114 [Debug] > // // test
23:18:03 #1115 [Debug] >
23:18:03 #1116 [Debug] > listm.init 10i32 id
23:18:03 #1117 [Debug] > |> index_of 5i32
23:18:03 #1118 [Debug] > |> _equal 5i32
23:18:03 #1119 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0377-7780-765279ada393\main.spi
23:18:03 #1120 [Debug] >
23:18:03 #1121 [Debug] > ╭─[ 142.81ms - stdout ]────────────────────────────────────────────────────────╮
23:18:03 #1122 [Debug] > │ let rec method0 () : unit = │
23:18:03 #1123 [Debug] > │ let v0 : string = $"_equal / actual: %A{5} / expected: %A{5}" │
23:18:03 #1124 [Debug] > │ () │
23:18:03 #1125 [Debug] > │ method0() │
23:18:03 #1126 [Debug] > │ │
23:18:03 #1127 [Debug] > │ │
23:18:03 #1128 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:03 #1129 [Debug] >
23:18:03 #1130 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:03 #1131 [Debug] > // // test
23:18:03 #1132 [Debug] >
23:18:03 #1133 [Debug] > listm.init 10i32 id
23:18:03 #1134 [Debug] > |> try_index_of 10i32
23:18:03 #1135 [Debug] > |> _equal (None : option i32)
23:18:04 #1136 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0392-9243-98859daefd02\main.spi
23:18:04 #1137 [Debug] >
23:18:04 #1138 [Debug] > ╭─[ 206.27ms - stdout ]────────────────────────────────────────────────────────╮
23:18:04 #1139 [Debug] > │ type [<Struct>] US0 = │
23:18:04 #1140 [Debug] > │ | US0_0 │
23:18:04 #1141 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:04 #1142 [Debug] > │ let rec method0 () : unit = │
23:18:04 #1143 [Debug] > │ let v3 : US0 = US0_0 │
23:18:04 #1144 [Debug] > │ let v4 : US0 = US0_0 │
23:18:04 #1145 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:18:04 #1146 [Debug] > │ () │
23:18:04 #1147 [Debug] > │ method0() │
23:18:04 #1148 [Debug] > │ │
23:18:04 #1149 [Debug] > │ │
23:18:04 #1150 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1151 [Debug] >
23:18:04 #1152 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:04 #1153 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:04 #1154 [Debug] > │ ## try_find │
23:18:04 #1155 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1156 [Debug] >
23:18:04 #1157 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:04 #1158 [Debug] > inl try_find fn list =
23:18:04 #1159 [Debug] > inl rec loop = function
23:18:04 #1160 [Debug] > | [[]] => None
23:18:04 #1161 [Debug] > | x :: xs =>
23:18:04 #1162 [Debug] > if fn x
23:18:04 #1163 [Debug] > then Some x
23:18:04 #1164 [Debug] > else loop xs
23:18:04 #1165 [Debug] > loop list
23:18:04 #1166 [Debug] >
23:18:04 #1167 [Debug] > inl try_find_ fn list =
23:18:04 #1168 [Debug] > let rec loop = function
23:18:04 #1169 [Debug] > | [[]] => None
23:18:04 #1170 [Debug] > | x :: xs =>
23:18:04 #1171 [Debug] > if fn x
23:18:04 #1172 [Debug] > then Some x
23:18:04 #1173 [Debug] > else loop xs
23:18:04 #1174 [Debug] > loop list
23:18:04 #1175 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0414-1442-1fc915f73733\main.spi
23:18:04 #1176 [Debug] >
23:18:04 #1177 [Debug] > ╭─[ 164.84ms - stdout ]────────────────────────────────────────────────────────╮
23:18:04 #1178 [Debug] > │ () │
23:18:04 #1179 [Debug] > │ │
23:18:04 #1180 [Debug] > │ │
23:18:04 #1181 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1182 [Debug] >
23:18:04 #1183 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:04 #1184 [Debug] > // // test
23:18:04 #1185 [Debug] >
23:18:04 #1186 [Debug] > listm.init 10i32 id
23:18:04 #1187 [Debug] > |> try_find ((=) 5i32)
23:18:04 #1188 [Debug] > |> _equal (Some 5i32)
23:18:04 #1189 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0431-3106-3e697a3ff56c\main.spi
23:18:04 #1190 [Debug] >
23:18:04 #1191 [Debug] > ╭─[ 171.16ms - stdout ]────────────────────────────────────────────────────────╮
23:18:04 #1192 [Debug] > │ type [<Struct>] US0 = │
23:18:04 #1193 [Debug] > │ | US0_0 │
23:18:04 #1194 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:04 #1195 [Debug] > │ let rec method0 () : unit = │
23:18:04 #1196 [Debug] > │ let v3 : US0 = US0_1(5) │
23:18:04 #1197 [Debug] > │ let v4 : US0 = US0_1(5) │
23:18:04 #1198 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:18:04 #1199 [Debug] > │ () │
23:18:04 #1200 [Debug] > │ method0() │
23:18:04 #1201 [Debug] > │ │
23:18:04 #1202 [Debug] > │ │
23:18:04 #1203 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1204 [Debug] >
23:18:04 #1205 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:04 #1206 [Debug] > inl find x =
23:18:04 #1207 [Debug] > try_find x >> optionm.value
23:18:04 #1208 [Debug] >
23:18:04 #1209 [Debug] > inl find_ x =
23:18:04 #1210 [Debug] > try_find_ x >> optionm.value
23:18:04 #1211 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0448-4892-483e59f49b8c\main.spi
23:18:04 #1212 [Debug] >
23:18:04 #1213 [Debug] > ╭─[ 148.01ms - stdout ]────────────────────────────────────────────────────────╮
23:18:04 #1214 [Debug] > │ () │
23:18:04 #1215 [Debug] > │ │
23:18:04 #1216 [Debug] > │ │
23:18:04 #1217 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1218 [Debug] >
23:18:04 #1219 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:04 #1220 [Debug] > // // test
23:18:04 #1221 [Debug] >
23:18:04 #1222 [Debug] > listm.init 10i32 id
23:18:04 #1223 [Debug] > |> find ((=) 5i32)
23:18:04 #1224 [Debug] > |> _equal 5i32
23:18:04 #1225 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0464-6400-638eece769cc\main.spi
23:18:04 #1226 [Debug] >
23:18:04 #1227 [Debug] > ╭─[ 125.46ms - stdout ]────────────────────────────────────────────────────────╮
23:18:04 #1228 [Debug] > │ let rec method0 () : unit = │
23:18:04 #1229 [Debug] > │ let v0 : string = $"_equal / actual: %A{5} / expected: %A{5}" │
23:18:04 #1230 [Debug] > │ () │
23:18:04 #1231 [Debug] > │ method0() │
23:18:04 #1232 [Debug] > │ │
23:18:04 #1233 [Debug] > │ │
23:18:04 #1234 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1235 [Debug] >
23:18:04 #1236 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:04 #1237 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:04 #1238 [Debug] > │ ## choose │
23:18:04 #1239 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1240 [Debug] >
23:18:04 #1241 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:04 #1242 [Debug] > inl choose f l =
23:18:04 #1243 [Debug] > (l, [[]])
23:18:04 #1244 [Debug] > ||> listm.foldBack fun x acc =>
23:18:04 #1245 [Debug] > match f x with
23:18:04 #1246 [Debug] > | Some y => y :: acc
23:18:04 #1247 [Debug] > | None => acc
23:18:04 #1248 [Debug] >
23:18:04 #1249 [Debug] > inl choose_ f l =
23:18:04 #1250 [Debug] > let rec loop acc = function
23:18:04 #1251 [Debug] > | [[]] => acc |> listm.rev
23:18:04 #1252 [Debug] > | x :: xs =>
23:18:04 #1253 [Debug] > match f x with
23:18:04 #1254 [Debug] > | Some y => loop (y :: acc) xs
23:18:04 #1255 [Debug] > | None => loop acc xs
23:18:04 #1256 [Debug] > loop [[]] l
23:18:04 #1257 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0477-7729-72f36bbe6a03\main.spi
23:18:04 #1258 [Debug] >
23:18:04 #1259 [Debug] > ╭─[ 163.66ms - stdout ]────────────────────────────────────────────────────────╮
23:18:04 #1260 [Debug] > │ () │
23:18:04 #1261 [Debug] > │ │
23:18:04 #1262 [Debug] > │ │
23:18:04 #1263 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:04 #1264 [Debug] >
23:18:04 #1265 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:04 #1266 [Debug] > // // test
23:18:04 #1267 [Debug] >
23:18:04 #1268 [Debug] > listm.init 10i32 id
23:18:04 #1269 [Debug] > |> choose (fun x => if x % 2 = 0 then Some x else None)
23:18:04 #1270 [Debug] > |> _equal [[0; 2; 4; 6; 8]]
23:18:05 #1271 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0493-9389-9418d7a7ab90\main.spi
23:18:05 #1272 [Debug] >
23:18:05 #1273 [Debug] > ╭─[ 229.86ms - stdout ]────────────────────────────────────────────────────────╮
23:18:05 #1274 [Debug] > │ type UH0 = │
23:18:05 #1275 [Debug] > │ | UH0_0 of int32 * UH0 │
23:18:05 #1276 [Debug] > │ | UH0_1 │
23:18:05 #1277 [Debug] > │ let rec method0 () : unit = │
23:18:05 #1278 [Debug] > │ let v33 : UH0 = UH0_1 │
23:18:05 #1279 [Debug] > │ let v34 : UH0 = UH0_0(8, v33) │
23:18:05 #1280 [Debug] > │ let v35 : UH0 = UH0_0(6, v34) │
23:18:05 #1281 [Debug] > │ let v36 : UH0 = UH0_0(4, v35) │
23:18:05 #1282 [Debug] > │ let v37 : UH0 = UH0_0(2, v36) │
23:18:05 #1283 [Debug] > │ let v38 : UH0 = UH0_0(0, v37) │
23:18:05 #1284 [Debug] > │ let v39 : UH0 = UH0_1 │
23:18:05 #1285 [Debug] > │ let v40 : UH0 = UH0_0(8, v39) │
23:18:05 #1286 [Debug] > │ let v41 : UH0 = UH0_0(6, v40) │
23:18:05 #1287 [Debug] > │ let v42 : UH0 = UH0_0(4, v41) │
23:18:05 #1288 [Debug] > │ let v43 : UH0 = UH0_0(2, v42) │
23:18:05 #1289 [Debug] > │ let v44 : UH0 = UH0_0(0, v43) │
23:18:05 #1290 [Debug] > │ let v45 : string = $"_equal / actual: %A{v38} / expected: %A{v44}" │
23:18:05 #1291 [Debug] > │ () │
23:18:05 #1292 [Debug] > │ method0() │
23:18:05 #1293 [Debug] > │ │
23:18:05 #1294 [Debug] > │ │
23:18:05 #1295 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1296 [Debug] >
23:18:05 #1297 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:05 #1298 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:05 #1299 [Debug] > │ ## zip_with │
23:18:05 #1300 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1301 [Debug] >
23:18:05 #1302 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:05 #1303 [Debug] > inl zip_with fn xs ys =
23:18:05 #1304 [Debug] > inl rec loop acc xs ys =
23:18:05 #1305 [Debug] > match xs, ys with
23:18:05 #1306 [Debug] > | Cons (x, xs), Cons (y, ys) =>
23:18:05 #1307 [Debug] > loop (fn x y :: acc) xs ys
23:18:05 #1308 [Debug] > | _ => listm.rev acc
23:18:05 #1309 [Debug] > loop [[]] xs ys
23:18:05 #1310 [Debug] >
23:18:05 #1311 [Debug] > inl zip_with_ fn xs ys =
23:18:05 #1312 [Debug] > let rec loop acc xs ys =
23:18:05 #1313 [Debug] > match xs, ys with
23:18:05 #1314 [Debug] > | Cons (x, xs), Cons (y, ys) =>
23:18:05 #1315 [Debug] > loop (fn x y :: acc) xs ys
23:18:05 #1316 [Debug] > | _ => listm.rev acc
23:18:05 #1317 [Debug] > loop [[]] xs ys
23:18:05 #1318 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0518-1831-1a28e87c4597\main.spi
23:18:05 #1319 [Debug] >
23:18:05 #1320 [Debug] > ╭─[ 165.56ms - stdout ]────────────────────────────────────────────────────────╮
23:18:05 #1321 [Debug] > │ () │
23:18:05 #1322 [Debug] > │ │
23:18:05 #1323 [Debug] > │ │
23:18:05 #1324 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1325 [Debug] >
23:18:05 #1326 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:05 #1327 [Debug] > // // test
23:18:05 #1328 [Debug] >
23:18:05 #1329 [Debug] > ([[1i32; 2; 3]], [[4; 5; 6]])
23:18:05 #1330 [Debug] > ||> zip_with (+)
23:18:05 #1331 [Debug] > |> _equal [[5; 7; 9]]
23:18:05 #1332 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0535-3514-315ad23b6399\main.spi
23:18:05 #1333 [Debug] >
23:18:05 #1334 [Debug] > ╭─[ 202.21ms - stdout ]────────────────────────────────────────────────────────╮
23:18:05 #1335 [Debug] > │ type UH0 = │
23:18:05 #1336 [Debug] > │ | UH0_0 of int32 * UH0 │
23:18:05 #1337 [Debug] > │ | UH0_1 │
23:18:05 #1338 [Debug] > │ let rec method0 () : unit = │
23:18:05 #1339 [Debug] > │ let v18 : UH0 = UH0_1 │
23:18:05 #1340 [Debug] > │ let v19 : UH0 = UH0_0(9, v18) │
23:18:05 #1341 [Debug] > │ let v20 : UH0 = UH0_0(7, v19) │
23:18:05 #1342 [Debug] > │ let v21 : UH0 = UH0_0(5, v20) │
23:18:05 #1343 [Debug] > │ let v22 : UH0 = UH0_1 │
23:18:05 #1344 [Debug] > │ let v23 : UH0 = UH0_0(9, v22) │
23:18:05 #1345 [Debug] > │ let v24 : UH0 = UH0_0(7, v23) │
23:18:05 #1346 [Debug] > │ let v25 : UH0 = UH0_0(5, v24) │
23:18:05 #1347 [Debug] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
23:18:05 #1348 [Debug] > │ () │
23:18:05 #1349 [Debug] > │ method0() │
23:18:05 #1350 [Debug] > │ │
23:18:05 #1351 [Debug] > │ │
23:18:05 #1352 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1353 [Debug] >
23:18:05 #1354 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:05 #1355 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:05 #1356 [Debug] > │ ## zip │
23:18:05 #1357 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1358 [Debug] >
23:18:05 #1359 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:05 #1360 [Debug] > inl zip xs ys =
23:18:05 #1361 [Debug] > zip_with pair xs ys
23:18:05 #1362 [Debug] >
23:18:05 #1363 [Debug] > inl zip_ xs ys =
23:18:05 #1364 [Debug] > zip_with_ pair xs ys
23:18:05 #1365 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0556-5661-55eb06cd2817\main.spi
23:18:05 #1366 [Debug] >
23:18:05 #1367 [Debug] > ╭─[ 144.07ms - stdout ]────────────────────────────────────────────────────────╮
23:18:05 #1368 [Debug] > │ () │
23:18:05 #1369 [Debug] > │ │
23:18:05 #1370 [Debug] > │ │
23:18:05 #1371 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1372 [Debug] >
23:18:05 #1373 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:05 #1374 [Debug] > // // test
23:18:05 #1375 [Debug] >
23:18:05 #1376 [Debug] > ([[1i32; 2; 3]], [[4i32; 5; 6]])
23:18:05 #1377 [Debug] > ||> zip
23:18:05 #1378 [Debug] > |> _equal [[1, 4; 2, 5; 3, 6]]
23:18:05 #1379 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0571-7144-7b96a04a83b8\main.spi
23:18:05 #1380 [Debug] >
23:18:05 #1381 [Debug] > ╭─[ 232.13ms - stdout ]────────────────────────────────────────────────────────╮
23:18:05 #1382 [Debug] > │ type UH0 = │
23:18:05 #1383 [Debug] > │ | UH0_0 of int32 * int32 * UH0 │
23:18:05 #1384 [Debug] > │ | UH0_1 │
23:18:05 #1385 [Debug] > │ let rec method0 () : unit = │
23:18:05 #1386 [Debug] > │ let v18 : UH0 = UH0_1 │
23:18:05 #1387 [Debug] > │ let v19 : UH0 = UH0_0(3, 6, v18) │
23:18:05 #1388 [Debug] > │ let v20 : UH0 = UH0_0(2, 5, v19) │
23:18:05 #1389 [Debug] > │ let v21 : UH0 = UH0_0(1, 4, v20) │
23:18:05 #1390 [Debug] > │ let v22 : UH0 = UH0_1 │
23:18:05 #1391 [Debug] > │ let v23 : UH0 = UH0_0(3, 6, v22) │
23:18:05 #1392 [Debug] > │ let v24 : UH0 = UH0_0(2, 5, v23) │
23:18:05 #1393 [Debug] > │ let v25 : UH0 = UH0_0(1, 4, v24) │
23:18:05 #1394 [Debug] > │ let v26 : string = $"_equal / actual: %A{v21} / expected: %A{v25}" │
23:18:05 #1395 [Debug] > │ () │
23:18:05 #1396 [Debug] > │ method0() │
23:18:05 #1397 [Debug] > │ │
23:18:05 #1398 [Debug] > │ │
23:18:05 #1399 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1400 [Debug] >
23:18:05 #1401 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:05 #1402 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:05 #1403 [Debug] > │ ## indexed │
23:18:05 #1404 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:05 #1405 [Debug] >
23:18:05 #1406 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:05 #1407 [Debug] > inl indexed list =
23:18:05 #1408 [Debug] > list
23:18:05 #1409 [Debug] > |> listm.fold
23:18:05 #1410 [Debug] > (fun (acc, i) x =>
23:18:05 #1411 [Debug] > (i, x) :: acc, i + 1
23:18:05 #1412 [Debug] > )
23:18:05 #1413 [Debug] > ([[]], 0)
23:18:05 #1414 [Debug] > |> fst
23:18:05 #1415 [Debug] > |> listm.rev
23:18:06 #1416 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0596-9668-96c7da4d76c1\main.spi
23:18:06 #1417 [Debug] >
23:18:06 #1418 [Debug] > ╭─[ 155.48ms - stdout ]────────────────────────────────────────────────────────╮
23:18:06 #1419 [Debug] > │ () │
23:18:06 #1420 [Debug] > │ │
23:18:06 #1421 [Debug] > │ │
23:18:06 #1422 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:06 #1423 [Debug] >
23:18:06 #1424 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:06 #1425 [Debug] > // // test
23:18:06 #1426 [Debug] >
23:18:06 #1427 [Debug] > listm.init 5i32 ((*) 2)
23:18:06 #1428 [Debug] > |> indexed
23:18:06 #1429 [Debug] > |> _equal [[0i32, 0; 1, 2; 2, 4; 3, 6; 4, 8]]
23:18:06 #1430 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-0612-1232-1acea413427e\main.spi
23:18:06 #1431 [Debug] >
23:18:06 #1432 [Debug] > ╭─[ 260.72ms - stdout ]────────────────────────────────────────────────────────╮
23:18:06 #1433 [Debug] > │ type UH0 = │
23:18:06 #1434 [Debug] > │ | UH0_0 of int32 * int32 * UH0 │
23:18:06 #1435 [Debug] > │ | UH0_1 │
23:18:06 #1436 [Debug] > │ let rec method0 () : unit = │
23:18:06 #1437 [Debug] > │ let v33 : UH0 = UH0_1 │
23:18:06 #1438 [Debug] > │ let v34 : UH0 = UH0_0(4, 8, v33) │
23:18:06 #1439 [Debug] > │ let v35 : UH0 = UH0_0(3, 6, v34) │
23:18:06 #1440 [Debug] > │ let v36 : UH0 = UH0_0(2, 4, v35) │
23:18:06 #1441 [Debug] > │ let v37 : UH0 = UH0_0(1, 2, v36) │
23:18:06 #1442 [Debug] > │ let v38 : UH0 = UH0_0(0, 0, v37) │
23:18:06 #1443 [Debug] > │ let v39 : UH0 = UH0_1 │
23:18:06 #1444 [Debug] > │ let v40 : UH0 = UH0_0(4, 8, v39) │
23:18:06 #1445 [Debug] > │ let v41 : UH0 = UH0_0(3, 6, v40) │
23:18:06 #1446 [Debug] > │ let v42 : UH0 = UH0_0(2, 4, v41) │
23:18:06 #1447 [Debug] > │ let v43 : UH0 = UH0_0(1, 2, v42) │
23:18:06 #1448 [Debug] > │ let v44 : UH0 = UH0_0(0, 0, v43) │
23:18:06 #1449 [Debug] > │ let v45 : string = $"_equal / actual: %A{v38} / expected: %A{v44}" │
23:18:06 #1450 [Debug] > │ () │
23:18:06 #1451 [Debug] > │ method0() │
23:18:06 #1452 [Debug] > │ │
23:18:06 #1453 [Debug] > │ │
23:18:06 #1454 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:08 #1455 [Debug] > [NbConvertApp] Converting notebook listm'.dib.ipynb to html
23:18:08 #1456 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:18:08 #1457 [Debug] > validate(nb)
23:18:09 #1458 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:18:09 #1459 [Debug] > return _pygments_highlight(
23:18:09 #1460 [Debug] > [NbConvertApp] Writing 385588 bytes to listm'.dib.html
23:18:10 #1461 [Debug] executeAsync / exitCode: 0 / proc.Id: 72128 / output.Length: 84177
23:18:10 #1462 [Debug] main / executeCommand / exitCode: 0
23:18:11 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:18:11 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:18:11 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:18:11 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:18:12 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:18:12 #6 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:18:12 #7 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:18:12 #8 [Debug] > Server bound to: http://localhost:13805
23:18:12 #9 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 seq.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:18:15 #10 [Debug] >
23:18:15 #11 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:15 #12 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:15 #13 [Debug] > │ # seq │
23:18:15 #14 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:15 #15 [Debug] >
23:18:15 #16 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:15 #17 [Debug] > // // test
23:18:15 #18 [Debug] >
23:18:15 #19 [Debug] > open testing
23:18:19 #20 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-1858-5875-5570b85d1341\main.spi
23:18:21 #21 [Debug] >
23:18:21 #22 [Debug] > ╭─[ 5.79s - stdout ]───────────────────────────────────────────────────────────╮
23:18:21 #23 [Debug] > │ () │
23:18:21 #24 [Debug] > │ │
23:18:21 #25 [Debug] > │ │
23:18:21 #26 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:21 #27 [Debug] >
23:18:21 #28 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:21 #29 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:21 #30 [Debug] > │ ## seq │
23:18:21 #31 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:21 #32 [Debug] >
23:18:21 #33 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:21 #34 [Debug] > type seq dim el = dim -> option el
23:18:21 #35 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2172-7220-78c753bb0455\main.spi
23:18:21 #36 [Debug] >
23:18:21 #37 [Debug] > ╭─[ 193.95ms - stdout ]────────────────────────────────────────────────────────╮
23:18:21 #38 [Debug] > │ () │
23:18:21 #39 [Debug] > │ │
23:18:21 #40 [Debug] > │ │
23:18:21 #41 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:21 #42 [Debug] >
23:18:21 #43 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:21 #44 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:21 #45 [Debug] > │ ## item │
23:18:21 #46 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:21 #47 [Debug] >
23:18:21 #48 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:21 #49 [Debug] > inl item n seq =
23:18:21 #50 [Debug] > seq n
23:18:22 #51 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2190-9062-9480afa72268\main.spi
23:18:22 #52 [Debug] >
23:18:22 #53 [Debug] > ╭─[ 199.51ms - stdout ]────────────────────────────────────────────────────────╮
23:18:22 #54 [Debug] > │ () │
23:18:22 #55 [Debug] > │ │
23:18:22 #56 [Debug] > │ │
23:18:22 #57 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:22 #58 [Debug] >
23:18:22 #59 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:22 #60 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:22 #61 [Debug] > │ ## from_list │
23:18:22 #62 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:22 #63 [Debug] >
23:18:22 #64 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:22 #65 [Debug] > inl from_list list =
23:18:22 #66 [Debug] > fun n =>
23:18:22 #67 [Debug] > list |> listm'.try_item n
23:18:22 #68 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2210-1085-1ec1aad68a41\main.spi
23:18:22 #69 [Debug] >
23:18:22 #70 [Debug] > ╭─[ 136.41ms - stdout ]────────────────────────────────────────────────────────╮
23:18:22 #71 [Debug] > │ () │
23:18:22 #72 [Debug] > │ │
23:18:22 #73 [Debug] > │ │
23:18:22 #74 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:22 #75 [Debug] >
23:18:22 #76 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:22 #77 [Debug] > // // test
23:18:22 #78 [Debug] >
23:18:22 #79 [Debug] > listm.init 10i32 print_and_return
23:18:22 #80 [Debug] > |> from_list
23:18:22 #81 [Debug] > |> item 5i32
23:18:22 #82 [Debug] > |> _equal (Some 5i32)
23:18:22 #83 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2224-2492-2ad4155670b8\main.spi
23:18:23 #84 [Debug] >
23:18:23 #85 [Debug] > ╭─[ 1.59s - stdout ]───────────────────────────────────────────────────────────╮
23:18:23 #86 [Debug] > │ type [<Struct>] US0 = │
23:18:23 #87 [Debug] > │ | US0_0 │
23:18:23 #88 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:23 #89 [Debug] > │ let rec method0 () : unit = │
23:18:23 #90 [Debug] > │ printfn $"print_and_return / x: {0}" │
23:18:23 #91 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:23 #92 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:23 #93 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:23 #94 [Debug] > │ printfn $"print_and_return / x: {4}" │
23:18:23 #95 [Debug] > │ printfn $"print_and_return / x: {5}" │
23:18:23 #96 [Debug] > │ printfn $"print_and_return / x: {6}" │
23:18:23 #97 [Debug] > │ printfn $"print_and_return / x: {7}" │
23:18:23 #98 [Debug] > │ printfn $"print_and_return / x: {8}" │
23:18:23 #99 [Debug] > │ printfn $"print_and_return / x: {9}" │
23:18:23 #100 [Debug] > │ let v3 : US0 = US0_1(5) │
23:18:23 #101 [Debug] > │ let v4 : US0 = US0_1(5) │
23:18:23 #102 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:18:23 #103 [Debug] > │ () │
23:18:23 #104 [Debug] > │ method0() │
23:18:23 #105 [Debug] > │ │
23:18:23 #106 [Debug] > │ print_and_return / x: 0 │
23:18:23 #107 [Debug] > │ print_and_return / x: 1 │
23:18:23 #108 [Debug] > │ print_and_return / x: 2 │
23:18:23 #109 [Debug] > │ print_and_return / x: 3 │
23:18:23 #110 [Debug] > │ print_and_return / x: 4 │
23:18:23 #111 [Debug] > │ print_and_return / x: 5 │
23:18:23 #112 [Debug] > │ print_and_return / x: 6 │
23:18:23 #113 [Debug] > │ print_and_return / x: 7 │
23:18:23 #114 [Debug] > │ print_and_return / x: 8 │
23:18:23 #115 [Debug] > │ print_and_return / x: 9 │
23:18:23 #116 [Debug] > │ │
23:18:23 #117 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:23 #118 [Debug] >
23:18:23 #119 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:23 #120 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:23 #121 [Debug] > │ ## indexed │
23:18:23 #122 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:23 #123 [Debug] >
23:18:23 #124 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:23 #125 [Debug] > inl indexed seq =
23:18:23 #126 [Debug] > fun n =>
23:18:23 #127 [Debug] > n, seq n
23:18:23 #128 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2386-8644-8b7bbbcf4c26\main.spi
23:18:24 #129 [Debug] >
23:18:24 #130 [Debug] > ╭─[ 165.52ms - stdout ]────────────────────────────────────────────────────────╮
23:18:24 #131 [Debug] > │ () │
23:18:24 #132 [Debug] > │ │
23:18:24 #133 [Debug] > │ │
23:18:24 #134 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #135 [Debug] >
23:18:24 #136 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:24 #137 [Debug] > // // test
23:18:24 #138 [Debug] >
23:18:24 #139 [Debug] > listm.init 10i32 ((*) 2)
23:18:24 #140 [Debug] > |> from_list
23:18:24 #141 [Debug] > |> indexed
23:18:24 #142 [Debug] > |> item 5i32
23:18:24 #143 [Debug] > |> _equal (5i32, Some 10i32)
23:18:24 #144 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2402-0294-077b1987d178\main.spi
23:18:24 #145 [Debug] >
23:18:24 #146 [Debug] > ╭─[ 171.02ms - stdout ]────────────────────────────────────────────────────────╮
23:18:24 #147 [Debug] > │ type [<Struct>] US0 = │
23:18:24 #148 [Debug] > │ | US0_0 │
23:18:24 #149 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:24 #150 [Debug] > │ let rec method0 () : unit = │
23:18:24 #151 [Debug] > │ let v3 : US0 = US0_1(10) │
23:18:24 #152 [Debug] > │ let v4 : US0 = US0_1(10) │
23:18:24 #153 [Debug] > │ let v5 : string = $"_equal / actual: %A{struct (5, v3)} / expected: │
23:18:24 #154 [Debug] > │ %A{struct (5, v4)}" │
23:18:24 #155 [Debug] > │ () │
23:18:24 #156 [Debug] > │ method0() │
23:18:24 #157 [Debug] > │ │
23:18:24 #158 [Debug] > │ │
23:18:24 #159 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #160 [Debug] >
23:18:24 #161 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:24 #162 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:24 #163 [Debug] > │ ## zip │
23:18:24 #164 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #165 [Debug] >
23:18:24 #166 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:24 #167 [Debug] > inl zip n seq1 seq2 =
23:18:24 #168 [Debug] > seq1 n, seq2 n
23:18:24 #169 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2421-2106-2c790ca05b0c\main.spi
23:18:24 #170 [Debug] >
23:18:24 #171 [Debug] > ╭─[ 134.32ms - stdout ]────────────────────────────────────────────────────────╮
23:18:24 #172 [Debug] > │ () │
23:18:24 #173 [Debug] > │ │
23:18:24 #174 [Debug] > │ │
23:18:24 #175 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #176 [Debug] >
23:18:24 #177 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:24 #178 [Debug] > // // test
23:18:24 #179 [Debug] >
23:18:24 #180 [Debug] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
23:18:24 #181 [Debug] > ||> zip 5i32
23:18:24 #182 [Debug] > |> _equal (Some 5, Some 10)
23:18:24 #183 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2434-3494-3256e49ff9dc\main.spi
23:18:24 #184 [Debug] >
23:18:24 #185 [Debug] > ╭─[ 169.55ms - stdout ]────────────────────────────────────────────────────────╮
23:18:24 #186 [Debug] > │ type [<Struct>] US0 = │
23:18:24 #187 [Debug] > │ | US0_0 │
23:18:24 #188 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:24 #189 [Debug] > │ let rec method0 () : unit = │
23:18:24 #190 [Debug] > │ let v6 : US0 = US0_1(5) │
23:18:24 #191 [Debug] > │ let v7 : US0 = US0_1(10) │
23:18:24 #192 [Debug] > │ let v8 : US0 = US0_1(5) │
23:18:24 #193 [Debug] > │ let v9 : US0 = US0_1(10) │
23:18:24 #194 [Debug] > │ let v10 : string = $"_equal / actual: %A{struct (v6, v7)} / expected: │
23:18:24 #195 [Debug] > │ %A{struct (v8, v9)}" │
23:18:24 #196 [Debug] > │ () │
23:18:24 #197 [Debug] > │ method0() │
23:18:24 #198 [Debug] > │ │
23:18:24 #199 [Debug] > │ │
23:18:24 #200 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #201 [Debug] >
23:18:24 #202 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:24 #203 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:24 #204 [Debug] > │ ## zip_with │
23:18:24 #205 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #206 [Debug] >
23:18:24 #207 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:24 #208 [Debug] > inl zip_with fn seq1 seq2 =
23:18:24 #209 [Debug] > fun n =>
23:18:24 #210 [Debug] > fn (seq1 n) (seq2 n)
23:18:24 #211 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2453-5301-5402efbdd948\main.spi
23:18:24 #212 [Debug] >
23:18:24 #213 [Debug] > ╭─[ 155.52ms - stdout ]────────────────────────────────────────────────────────╮
23:18:24 #214 [Debug] > │ () │
23:18:24 #215 [Debug] > │ │
23:18:24 #216 [Debug] > │ │
23:18:24 #217 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #218 [Debug] >
23:18:24 #219 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:24 #220 [Debug] > // // test
23:18:24 #221 [Debug] >
23:18:24 #222 [Debug] > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list))
23:18:24 #223 [Debug] > ||> zip_with (optionm'.choose (+))
23:18:24 #224 [Debug] > |> item 2i32
23:18:24 #225 [Debug] > |> _equal (Some 6)
23:18:24 #226 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2468-6873-67ec205c90ce\main.spi
23:18:24 #227 [Debug] >
23:18:24 #228 [Debug] > ╭─[ 169.48ms - stdout ]────────────────────────────────────────────────────────╮
23:18:24 #229 [Debug] > │ type [<Struct>] US0 = │
23:18:24 #230 [Debug] > │ | US0_0 │
23:18:24 #231 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:24 #232 [Debug] > │ let rec method0 () : unit = │
23:18:24 #233 [Debug] > │ let v3 : US0 = US0_1(6) │
23:18:24 #234 [Debug] > │ let v4 : US0 = US0_1(6) │
23:18:24 #235 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:18:24 #236 [Debug] > │ () │
23:18:24 #237 [Debug] > │ method0() │
23:18:24 #238 [Debug] > │ │
23:18:24 #239 [Debug] > │ │
23:18:24 #240 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #241 [Debug] >
23:18:24 #242 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:24 #243 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:24 #244 [Debug] > │ ## fold │
23:18:24 #245 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:24 #246 [Debug] >
23:18:24 #247 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:24 #248 [Debug] > inl fold fn init seq =
23:18:24 #249 [Debug] > inl rec loop acc n =
23:18:24 #250 [Debug] > match seq n with
23:18:24 #251 [Debug] > | Some x => loop (fn acc x) (n + 1)
23:18:24 #252 [Debug] > | None => acc
23:18:24 #253 [Debug] > loop init 0
23:18:24 #254 [Debug] >
23:18:24 #255 [Debug] > inl fold_ fn init seq =
23:18:24 #256 [Debug] > let rec loop acc n =
23:18:24 #257 [Debug] > match seq n with
23:18:24 #258 [Debug] > | Some x => loop (fn acc x) (n + 1)
23:18:24 #259 [Debug] > | None => acc
23:18:24 #260 [Debug] > loop init 0
23:18:24 #261 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2486-8681-80ccfc781009\main.spi
23:18:25 #262 [Debug] >
23:18:25 #263 [Debug] > ╭─[ 150.25ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #264 [Debug] > │ () │
23:18:25 #265 [Debug] > │ │
23:18:25 #266 [Debug] > │ │
23:18:25 #267 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #268 [Debug] >
23:18:25 #269 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:25 #270 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:25 #271 [Debug] > │ ## sum │
23:18:25 #272 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #273 [Debug] >
23:18:25 #274 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #275 [Debug] > inl sum seq =
23:18:25 #276 [Debug] > seq |> fold (+) 0
23:18:25 #277 [Debug] >
23:18:25 #278 [Debug] > inl sum_ seq =
23:18:25 #279 [Debug] > seq |> fold_ (+) 0
23:18:25 #280 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2502-0272-0070a2907c3f\main.spi
23:18:25 #281 [Debug] >
23:18:25 #282 [Debug] > ╭─[ 131.91ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #283 [Debug] > │ () │
23:18:25 #284 [Debug] > │ │
23:18:25 #285 [Debug] > │ │
23:18:25 #286 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #287 [Debug] >
23:18:25 #288 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #289 [Debug] > // // test
23:18:25 #290 [Debug] >
23:18:25 #291 [Debug] > listm.init 10i32 id
23:18:25 #292 [Debug] > |> from_list
23:18:25 #293 [Debug] > |> fun f (n : i32) => f n
23:18:25 #294 [Debug] > |> sum
23:18:25 #295 [Debug] > |> _equal 45
23:18:25 #296 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2516-1600-18643d3ba521\main.spi
23:18:25 #297 [Debug] >
23:18:25 #298 [Debug] > ╭─[ 143.43ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #299 [Debug] > │ let rec method0 () : unit = │
23:18:25 #300 [Debug] > │ let v0 : string = $"_equal / actual: %A{45} / expected: %A{45}" │
23:18:25 #301 [Debug] > │ () │
23:18:25 #302 [Debug] > │ method0() │
23:18:25 #303 [Debug] > │ │
23:18:25 #304 [Debug] > │ │
23:18:25 #305 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #306 [Debug] >
23:18:25 #307 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:25 #308 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:25 #309 [Debug] > │ ## to_list │
23:18:25 #310 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #311 [Debug] >
23:18:25 #312 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #313 [Debug] > inl to_list seq =
23:18:25 #314 [Debug] > seq
23:18:25 #315 [Debug] > |> fold (fun acc x => x :: acc) [[]]
23:18:25 #316 [Debug] > |> listm.rev
23:18:25 #317 [Debug] >
23:18:25 #318 [Debug] > inl to_list_ seq =
23:18:25 #319 [Debug] > seq
23:18:25 #320 [Debug] > |> fold_ (fun acc x => x :: acc) [[]]
23:18:25 #321 [Debug] > |> listm.rev
23:18:25 #322 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2531-3125-3f0eef8511f9\main.spi
23:18:25 #323 [Debug] >
23:18:25 #324 [Debug] > ╭─[ 130.74ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #325 [Debug] > │ () │
23:18:25 #326 [Debug] > │ │
23:18:25 #327 [Debug] > │ │
23:18:25 #328 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #329 [Debug] >
23:18:25 #330 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #331 [Debug] > // // test
23:18:25 #332 [Debug] >
23:18:25 #333 [Debug] > listm.init 10i32 id
23:18:25 #334 [Debug] > |> from_list
23:18:25 #335 [Debug] > |> fun f (n : i32) => f n
23:18:25 #336 [Debug] > |> to_list
23:18:25 #337 [Debug] > |> _equal (listm.init 10i32 id)
23:18:25 #338 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2544-4454-4653b83d353b\main.spi
23:18:25 #339 [Debug] >
23:18:25 #340 [Debug] > ╭─[ 218.03ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #341 [Debug] > │ type UH0 = │
23:18:25 #342 [Debug] > │ | UH0_0 of int32 * UH0 │
23:18:25 #343 [Debug] > │ | UH0_1 │
23:18:25 #344 [Debug] > │ let rec method0 () : unit = │
23:18:25 #345 [Debug] > │ let v88 : UH0 = UH0_1 │
23:18:25 #346 [Debug] > │ let v89 : UH0 = UH0_0(9, v88) │
23:18:25 #347 [Debug] > │ let v90 : UH0 = UH0_0(8, v89) │
23:18:25 #348 [Debug] > │ let v91 : UH0 = UH0_0(7, v90) │
23:18:25 #349 [Debug] > │ let v92 : UH0 = UH0_0(6, v91) │
23:18:25 #350 [Debug] > │ let v93 : UH0 = UH0_0(5, v92) │
23:18:25 #351 [Debug] > │ let v94 : UH0 = UH0_0(4, v93) │
23:18:25 #352 [Debug] > │ let v95 : UH0 = UH0_0(3, v94) │
23:18:25 #353 [Debug] > │ let v96 : UH0 = UH0_0(2, v95) │
23:18:25 #354 [Debug] > │ let v97 : UH0 = UH0_0(1, v96) │
23:18:25 #355 [Debug] > │ let v98 : UH0 = UH0_0(0, v97) │
23:18:25 #356 [Debug] > │ let v99 : UH0 = UH0_1 │
23:18:25 #357 [Debug] > │ let v100 : UH0 = UH0_0(9, v99) │
23:18:25 #358 [Debug] > │ let v101 : UH0 = UH0_0(8, v100) │
23:18:25 #359 [Debug] > │ let v102 : UH0 = UH0_0(7, v101) │
23:18:25 #360 [Debug] > │ let v103 : UH0 = UH0_0(6, v102) │
23:18:25 #361 [Debug] > │ let v104 : UH0 = UH0_0(5, v103) │
23:18:25 #362 [Debug] > │ let v105 : UH0 = UH0_0(4, v104) │
23:18:25 #363 [Debug] > │ let v106 : UH0 = UH0_0(3, v105) │
23:18:25 #364 [Debug] > │ let v107 : UH0 = UH0_0(2, v106) │
23:18:25 #365 [Debug] > │ let v108 : UH0 = UH0_0(1, v107) │
23:18:25 #366 [Debug] > │ let v109 : UH0 = UH0_0(0, v108) │
23:18:25 #367 [Debug] > │ let v110 : string = $"_equal / actual: %A{v98} / expected: %A{v109}" │
23:18:25 #368 [Debug] > │ () │
23:18:25 #369 [Debug] > │ method0() │
23:18:25 #370 [Debug] > │ │
23:18:25 #371 [Debug] > │ │
23:18:25 #372 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #373 [Debug] >
23:18:25 #374 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:25 #375 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:25 #376 [Debug] > │ ## take_while │
23:18:25 #377 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #378 [Debug] >
23:18:25 #379 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #380 [Debug] > inl take_while cond seq =
23:18:25 #381 [Debug] > inl rec loop acc i =
23:18:25 #382 [Debug] > match seq i with
23:18:25 #383 [Debug] > | Some st when cond st i => loop (st :: acc) (i + 1)
23:18:25 #384 [Debug] > | _ => acc |> listm.rev
23:18:25 #385 [Debug] > loop [[]] 0
23:18:25 #386 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2568-6824-6fe857dca744\main.spi
23:18:25 #387 [Debug] >
23:18:25 #388 [Debug] > ╭─[ 128.22ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #389 [Debug] > │ () │
23:18:25 #390 [Debug] > │ │
23:18:25 #391 [Debug] > │ │
23:18:25 #392 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #393 [Debug] >
23:18:25 #394 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #395 [Debug] > // // test
23:18:25 #396 [Debug] >
23:18:25 #397 [Debug] > listm.init 10i32 id
23:18:25 #398 [Debug] > |> from_list
23:18:25 #399 [Debug] > |> take_while (fun n (_ : i32) => n < 5)
23:18:25 #400 [Debug] > |> listm'.sum
23:18:25 #401 [Debug] > |> _equal 10
23:18:25 #402 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2581-8146-83bb61d9e9ea\main.spi
23:18:25 #403 [Debug] >
23:18:25 #404 [Debug] > ╭─[ 150.67ms - stdout ]────────────────────────────────────────────────────────╮
23:18:25 #405 [Debug] > │ let rec method0 () : unit = │
23:18:25 #406 [Debug] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
23:18:25 #407 [Debug] > │ () │
23:18:25 #408 [Debug] > │ method0() │
23:18:25 #409 [Debug] > │ │
23:18:25 #410 [Debug] > │ │
23:18:25 #411 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:25 #412 [Debug] >
23:18:25 #413 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:25 #414 [Debug] > // // test
23:18:25 #415 [Debug] >
23:18:25 #416 [Debug] > listm'.new_finite_lazy_list print_and_return 10i32
23:18:25 #417 [Debug] > |> flip listm'.try_lazy_item
23:18:25 #418 [Debug] > |> take_while (fun n (_ : i32) => n < 5)
23:18:25 #419 [Debug] > |> listm'.sum
23:18:25 #420 [Debug] > |> _equal 10
23:18:26 #421 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2596-9673-9298f6ca8e7a\main.spi
23:18:26 #422 [Debug] >
23:18:26 #423 [Debug] > ╭─[ 173.56ms - stdout ]────────────────────────────────────────────────────────╮
23:18:26 #424 [Debug] > │ let rec method0 () : unit = │
23:18:26 #425 [Debug] > │ printfn $"print_and_return / x: {0}" │
23:18:26 #426 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:26 #427 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:26 #428 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:26 #429 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:26 #430 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:26 #431 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:26 #432 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:26 #433 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:26 #434 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:26 #435 [Debug] > │ printfn $"print_and_return / x: {4}" │
23:18:26 #436 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:26 #437 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:26 #438 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:26 #439 [Debug] > │ printfn $"print_and_return / x: {4}" │
23:18:26 #440 [Debug] > │ printfn $"print_and_return / x: {5}" │
23:18:26 #441 [Debug] > │ let v0 : string = $"_equal / actual: %A{10} / expected: %A{10}" │
23:18:26 #442 [Debug] > │ () │
23:18:26 #443 [Debug] > │ method0() │
23:18:26 #444 [Debug] > │ │
23:18:26 #445 [Debug] > │ print_and_return / x: 0 │
23:18:26 #446 [Debug] > │ print_and_return / x: 1 │
23:18:26 #447 [Debug] > │ print_and_return / x: 1 │
23:18:26 #448 [Debug] > │ print_and_return / x: 2 │
23:18:26 #449 [Debug] > │ print_and_return / x: 1 │
23:18:26 #450 [Debug] > │ print_and_return / x: 2 │
23:18:26 #451 [Debug] > │ print_and_return / x: 3 │
23:18:26 #452 [Debug] > │ print_and_return / x: 1 │
23:18:26 #453 [Debug] > │ print_and_return / x: 2 │
23:18:26 #454 [Debug] > │ print_and_return / x: 3 │
23:18:26 #455 [Debug] > │ print_and_return / x: 4 │
23:18:26 #456 [Debug] > │ print_and_return / x: 1 │
23:18:26 #457 [Debug] > │ print_and_return / x: 2 │
23:18:26 #458 [Debug] > │ print_and_return / x: 3 │
23:18:26 #459 [Debug] > │ print_and_return / x: 4 │
23:18:26 #460 [Debug] > │ print_and_return / x: 5 │
23:18:26 #461 [Debug] > │ │
23:18:26 #462 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:26 #463 [Debug] >
23:18:26 #464 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:26 #465 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:26 #466 [Debug] > │ ## take_while_ │
23:18:26 #467 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:26 #468 [Debug] >
23:18:26 #469 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:26 #470 [Debug] > inl take_while_ cond seq =
23:18:26 #471 [Debug] > let rec loop acc i =
23:18:26 #472 [Debug] > match seq i with
23:18:26 #473 [Debug] > | Some st when cond st i => loop (st :: acc) (i + 1)
23:18:26 #474 [Debug] > | _ => acc |> listm.rev
23:18:26 #475 [Debug] > loop [[]] 0
23:18:26 #476 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2616-1640-1d8dd2e943bf\main.spi
23:18:26 #477 [Debug] >
23:18:26 #478 [Debug] > ╭─[ 147.34ms - stdout ]────────────────────────────────────────────────────────╮
23:18:26 #479 [Debug] > │ () │
23:18:26 #480 [Debug] > │ │
23:18:26 #481 [Debug] > │ │
23:18:26 #482 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:26 #483 [Debug] >
23:18:26 #484 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:26 #485 [Debug] > // // test
23:18:26 #486 [Debug] >
23:18:26 #487 [Debug] > listm'.new_infinite_lazy_list_ print_and_return
23:18:26 #488 [Debug] > |> flip listm'.try_lazy_item_
23:18:26 #489 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5i32)
23:18:26 #490 [Debug] > |> listm'.sum
23:18:26 #491 [Debug] > |> _equal 10
23:18:26 #492 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2631-3144-39c8339c4f20\main.spi
23:18:27 #493 [Debug] >
23:18:27 #494 [Debug] > ╭─[ 777.23ms - stdout ]────────────────────────────────────────────────────────╮
23:18:27 #495 [Debug] > │ type UH0 = │
23:18:27 #496 [Debug] > │ | UH0_0 of int32 * (unit -> UH0) │
23:18:27 #497 [Debug] > │ | UH0_1 │
23:18:27 #498 [Debug] > │ and UH1 = │
23:18:27 #499 [Debug] > │ | UH1_0 of int32 * UH1 │
23:18:27 #500 [Debug] > │ | UH1_1 │
23:18:27 #501 [Debug] > │ and Mut0 = {mutable l0 : int32} │
23:18:27 #502 [Debug] > │ and Mut1 = {mutable l0 : UH0} │
23:18:27 #503 [Debug] > │ and [<Struct>] US0 = │
23:18:27 #504 [Debug] > │ | US0_0 │
23:18:27 #505 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:27 #506 [Debug] > │ let rec closure0 (v0 : int32) () : UH0 = │
23:18:27 #507 [Debug] > │ let v1 : int32 = v0 + 1 │
23:18:27 #508 [Debug] > │ method1(v1) │
23:18:27 #509 [Debug] > │ and method1 (v0 : int32) : UH0 = │
23:18:27 #510 [Debug] > │ printfn $"print_and_return / x: {v0}" │
23:18:27 #511 [Debug] > │ let v1 : (unit -> UH0) = closure0(v0) │
23:18:27 #512 [Debug] > │ UH0_0(v0, v1) │
23:18:27 #513 [Debug] > │ and method3 (v0 : Mut0, v1 : Mut1) : US0 = │
23:18:27 #514 [Debug] > │ let v2 : UH0 = v1.l0 │
23:18:27 #515 [Debug] > │ match v2 with │
23:18:27 #516 [Debug] > │ | UH0_0(v3, v4) -> (* LazyCons *) │
23:18:27 #517 [Debug] > │ let v5 : int32 = v0.l0 │
23:18:27 #518 [Debug] > │ let v6 : bool = v5 = 0 │
23:18:27 #519 [Debug] > │ if v6 then │
23:18:27 #520 [Debug] > │ US0_1(v3) │
23:18:27 #521 [Debug] > │ else │
23:18:27 #522 [Debug] > │ let v8 : int32 = v0.l0 │
23:18:27 #523 [Debug] > │ let v9 : int32 = v8 - 1 │
23:18:27 #524 [Debug] > │ v0.l0 <- v9 │
23:18:27 #525 [Debug] > │ let v10 : UH0 = v4 () │
23:18:27 #526 [Debug] > │ v1.l0 <- v10 │
23:18:27 #527 [Debug] > │ method3(v0, v1) │
23:18:27 #528 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #529 [Debug] > │ US0_0 │
23:18:27 #530 [Debug] > │ and method4 (v0 : UH1, v1 : UH1) : UH1 = │
23:18:27 #531 [Debug] > │ match v0 with │
23:18:27 #532 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:27 #533 [Debug] > │ let v4 : UH1 = UH1_0(v2, v1) │
23:18:27 #534 [Debug] > │ method4(v3, v4) │
23:18:27 #535 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:27 #536 [Debug] > │ v1 │
23:18:27 #537 [Debug] > │ and method2 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 = │
23:18:27 #538 [Debug] > │ let v3 : Mut0 = {l0 = v2} : Mut0 │
23:18:27 #539 [Debug] > │ let v4 : Mut1 = {l0 = v0} : Mut1 │
23:18:27 #540 [Debug] > │ let v5 : US0 = method3(v3, v4) │
23:18:27 #541 [Debug] > │ match v5 with │
23:18:27 #542 [Debug] > │ | US0_1(v6) -> (* Some *) │
23:18:27 #543 [Debug] > │ let v7 : bool = v6 < 5 │
23:18:27 #544 [Debug] > │ if v7 then │
23:18:27 #545 [Debug] > │ let v8 : UH1 = UH1_0(v6, v1) │
23:18:27 #546 [Debug] > │ let v9 : int32 = v2 + 1 │
23:18:27 #547 [Debug] > │ method2(v0, v8, v9) │
23:18:27 #548 [Debug] > │ else │
23:18:27 #549 [Debug] > │ let v11 : UH1 = UH1_1 │
23:18:27 #550 [Debug] > │ method4(v1, v11) │
23:18:27 #551 [Debug] > │ | _ -> │
23:18:27 #552 [Debug] > │ let v14 : UH1 = UH1_1 │
23:18:27 #553 [Debug] > │ method4(v1, v14) │
23:18:27 #554 [Debug] > │ and method5 (v0 : UH1, v1 : int32) : int32 = │
23:18:27 #555 [Debug] > │ match v0 with │
23:18:27 #556 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:27 #557 [Debug] > │ let v4 : int32 = v1 + v2 │
23:18:27 #558 [Debug] > │ method5(v3, v4) │
23:18:27 #559 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:27 #560 [Debug] > │ v1 │
23:18:27 #561 [Debug] > │ and method0 () : unit = │
23:18:27 #562 [Debug] > │ let v0 : int32 = 0 │
23:18:27 #563 [Debug] > │ let v1 : UH0 = method1(v0) │
23:18:27 #564 [Debug] > │ let v2 : UH1 = UH1_1 │
23:18:27 #565 [Debug] > │ let v3 : int32 = 0 │
23:18:27 #566 [Debug] > │ let v4 : UH1 = method2(v1, v2, v3) │
23:18:27 #567 [Debug] > │ let v5 : int32 = 0 │
23:18:27 #568 [Debug] > │ let v6 : int32 = method5(v4, v5) │
23:18:27 #569 [Debug] > │ let v7 : bool = v6 = 10 │
23:18:27 #570 [Debug] > │ let v8 : string = $"_equal / actual: %A{v6} / expected: %A{10}" │
23:18:27 #571 [Debug] > │ let v9 : bool = v7 = false │
23:18:27 #572 [Debug] > │ if v9 then │
23:18:27 #573 [Debug] > │ failwith<unit> v8 │
23:18:27 #574 [Debug] > │ method0() │
23:18:27 #575 [Debug] > │ │
23:18:27 #576 [Debug] > │ print_and_return / x: 0 │
23:18:27 #577 [Debug] > │ print_and_return / x: 1 │
23:18:27 #578 [Debug] > │ print_and_return / x: 1 │
23:18:27 #579 [Debug] > │ print_and_return / x: 2 │
23:18:27 #580 [Debug] > │ print_and_return / x: 1 │
23:18:27 #581 [Debug] > │ print_and_return / x: 2 │
23:18:27 #582 [Debug] > │ print_and_return / x: 3 │
23:18:27 #583 [Debug] > │ print_and_return / x: 1 │
23:18:27 #584 [Debug] > │ print_and_return / x: 2 │
23:18:27 #585 [Debug] > │ print_and_return / x: 3 │
23:18:27 #586 [Debug] > │ print_and_return / x: 4 │
23:18:27 #587 [Debug] > │ print_and_return / x: 1 │
23:18:27 #588 [Debug] > │ print_and_return / x: 2 │
23:18:27 #589 [Debug] > │ print_and_return / x: 3 │
23:18:27 #590 [Debug] > │ print_and_return / x: 4 │
23:18:27 #591 [Debug] > │ print_and_return / x: 5 │
23:18:27 #592 [Debug] > │ │
23:18:27 #593 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:27 #594 [Debug] >
23:18:27 #595 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:27 #596 [Debug] > // // test
23:18:27 #597 [Debug] >
23:18:27 #598 [Debug] > listm'.new_infinite_lazy_list_ print_and_return
23:18:27 #599 [Debug] > |> listm'.memoize_lazy_list
23:18:27 #600 [Debug] > |> fun list =>
23:18:27 #601 [Debug] > inl list = list ()
23:18:27 #602 [Debug] > fun n =>
23:18:27 #603 [Debug] > list |> listm'.try_lazy_item_ n
23:18:27 #604 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5i32)
23:18:27 #605 [Debug] > |> listm'.sum
23:18:27 #606 [Debug] > |> _equal 10
23:18:27 #607 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2713-1396-129b03b6a2ca\main.spi
23:18:27 #608 [Debug] >
23:18:27 #609 [Debug] > ╭─[ 332.72ms - stdout ]────────────────────────────────────────────────────────╮
23:18:27 #610 [Debug] > │ type UH0 = │
23:18:27 #611 [Debug] > │ | UH0_0 of int32 * (unit -> UH0) │
23:18:27 #612 [Debug] > │ | UH0_1 │
23:18:27 #613 [Debug] > │ and [<Struct>] US0 = │
23:18:27 #614 [Debug] > │ | US0_0 of f0_0 : UH0 │
23:18:27 #615 [Debug] > │ | US0_1 of f1_0 : (unit -> UH0) │
23:18:27 #616 [Debug] > │ and Mut0 = {mutable l0 : US0} │
23:18:27 #617 [Debug] > │ and UH1 = │
23:18:27 #618 [Debug] > │ | UH1_0 of int32 * UH1 │
23:18:27 #619 [Debug] > │ | UH1_1 │
23:18:27 #620 [Debug] > │ and Mut1 = {mutable l0 : int32} │
23:18:27 #621 [Debug] > │ and Mut2 = {mutable l0 : UH0} │
23:18:27 #622 [Debug] > │ and [<Struct>] US1 = │
23:18:27 #623 [Debug] > │ | US1_0 │
23:18:27 #624 [Debug] > │ | US1_1 of f1_0 : int32 │
23:18:27 #625 [Debug] > │ let rec closure0 (v0 : int32) () : UH0 = │
23:18:27 #626 [Debug] > │ let v1 : int32 = v0 + 1 │
23:18:27 #627 [Debug] > │ method1(v1) │
23:18:27 #628 [Debug] > │ and method1 (v0 : int32) : UH0 = │
23:18:27 #629 [Debug] > │ printfn $"print_and_return / x: {v0}" │
23:18:27 #630 [Debug] > │ let v1 : (unit -> UH0) = closure0(v0) │
23:18:27 #631 [Debug] > │ UH0_0(v0, v1) │
23:18:27 #632 [Debug] > │ and closure1 (v0 : UH0) () : UH0 = │
23:18:27 #633 [Debug] > │ v0 │
23:18:27 #634 [Debug] > │ and closure2 (v0 : Mut0) () : UH0 = │
23:18:27 #635 [Debug] > │ let v1 : US0 = v0.l0 │
23:18:27 #636 [Debug] > │ match v1 with │
23:18:27 #637 [Debug] > │ | US0_0(v2) -> (* Computed *) │
23:18:27 #638 [Debug] > │ v2 │
23:18:27 #639 [Debug] > │ | US0_1(v3) -> (* NotComputed *) │
23:18:27 #640 [Debug] > │ let v4 : UH0 = v3 () │
23:18:27 #641 [Debug] > │ let v13 : UH0 = │
23:18:27 #642 [Debug] > │ match v4 with │
23:18:27 #643 [Debug] > │ | UH0_0(v6, v7) -> (* LazyCons *) │
23:18:27 #644 [Debug] > │ let v8 : US0 = US0_1(v7) │
23:18:27 #645 [Debug] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │
23:18:27 #646 [Debug] > │ let v10 : (unit -> UH0) = closure2(v9) │
23:18:27 #647 [Debug] > │ UH0_0(v6, v10) │
23:18:27 #648 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #649 [Debug] > │ UH0_1 │
23:18:27 #650 [Debug] > │ let v14 : US0 = US0_0(v13) │
23:18:27 #651 [Debug] > │ v0.l0 <- v14 │
23:18:27 #652 [Debug] > │ v13 │
23:18:27 #653 [Debug] > │ and method3 (v0 : Mut1, v1 : Mut2) : US1 = │
23:18:27 #654 [Debug] > │ let v2 : UH0 = v1.l0 │
23:18:27 #655 [Debug] > │ match v2 with │
23:18:27 #656 [Debug] > │ | UH0_0(v3, v4) -> (* LazyCons *) │
23:18:27 #657 [Debug] > │ let v5 : int32 = v0.l0 │
23:18:27 #658 [Debug] > │ let v6 : bool = v5 = 0 │
23:18:27 #659 [Debug] > │ if v6 then │
23:18:27 #660 [Debug] > │ US1_1(v3) │
23:18:27 #661 [Debug] > │ else │
23:18:27 #662 [Debug] > │ let v8 : int32 = v0.l0 │
23:18:27 #663 [Debug] > │ let v9 : int32 = v8 - 1 │
23:18:27 #664 [Debug] > │ v0.l0 <- v9 │
23:18:27 #665 [Debug] > │ let v10 : UH0 = v4 () │
23:18:27 #666 [Debug] > │ v1.l0 <- v10 │
23:18:27 #667 [Debug] > │ method3(v0, v1) │
23:18:27 #668 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #669 [Debug] > │ US1_0 │
23:18:27 #670 [Debug] > │ and method4 (v0 : UH1, v1 : UH1) : UH1 = │
23:18:27 #671 [Debug] > │ match v0 with │
23:18:27 #672 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:27 #673 [Debug] > │ let v4 : UH1 = UH1_0(v2, v1) │
23:18:27 #674 [Debug] > │ method4(v3, v4) │
23:18:27 #675 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:27 #676 [Debug] > │ v1 │
23:18:27 #677 [Debug] > │ and method2 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 = │
23:18:27 #678 [Debug] > │ let v3 : Mut1 = {l0 = v2} : Mut1 │
23:18:27 #679 [Debug] > │ let v4 : Mut2 = {l0 = v0} : Mut2 │
23:18:27 #680 [Debug] > │ let v5 : US1 = method3(v3, v4) │
23:18:27 #681 [Debug] > │ match v5 with │
23:18:27 #682 [Debug] > │ | US1_1(v6) -> (* Some *) │
23:18:27 #683 [Debug] > │ let v7 : bool = v6 < 5 │
23:18:27 #684 [Debug] > │ if v7 then │
23:18:27 #685 [Debug] > │ let v8 : UH1 = UH1_0(v6, v1) │
23:18:27 #686 [Debug] > │ let v9 : int32 = v2 + 1 │
23:18:27 #687 [Debug] > │ method2(v0, v8, v9) │
23:18:27 #688 [Debug] > │ else │
23:18:27 #689 [Debug] > │ let v11 : UH1 = UH1_1 │
23:18:27 #690 [Debug] > │ method4(v1, v11) │
23:18:27 #691 [Debug] > │ | _ -> │
23:18:27 #692 [Debug] > │ let v14 : UH1 = UH1_1 │
23:18:27 #693 [Debug] > │ method4(v1, v14) │
23:18:27 #694 [Debug] > │ and method5 (v0 : UH1, v1 : int32) : int32 = │
23:18:27 #695 [Debug] > │ match v0 with │
23:18:27 #696 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:27 #697 [Debug] > │ let v4 : int32 = v1 + v2 │
23:18:27 #698 [Debug] > │ method5(v3, v4) │
23:18:27 #699 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:27 #700 [Debug] > │ v1 │
23:18:27 #701 [Debug] > │ and method0 () : unit = │
23:18:27 #702 [Debug] > │ let v0 : int32 = 0 │
23:18:27 #703 [Debug] > │ let v1 : UH0 = method1(v0) │
23:18:27 #704 [Debug] > │ let v2 : (unit -> UH0) = closure1(v1) │
23:18:27 #705 [Debug] > │ let v3 : US0 = US0_1(v2) │
23:18:27 #706 [Debug] > │ let v4 : Mut0 = {l0 = v3} : Mut0 │
23:18:27 #707 [Debug] > │ let v5 : US0 = v4.l0 │
23:18:27 #708 [Debug] > │ let v20 : UH0 = │
23:18:27 #709 [Debug] > │ match v5 with │
23:18:27 #710 [Debug] > │ | US0_0(v6) -> (* Computed *) │
23:18:27 #711 [Debug] > │ v6 │
23:18:27 #712 [Debug] > │ | US0_1(v7) -> (* NotComputed *) │
23:18:27 #713 [Debug] > │ let v8 : UH0 = v7 () │
23:18:27 #714 [Debug] > │ let v17 : UH0 = │
23:18:27 #715 [Debug] > │ match v8 with │
23:18:27 #716 [Debug] > │ | UH0_0(v10, v11) -> (* LazyCons *) │
23:18:27 #717 [Debug] > │ let v12 : US0 = US0_1(v11) │
23:18:27 #718 [Debug] > │ let v13 : Mut0 = {l0 = v12} : Mut0 │
23:18:27 #719 [Debug] > │ let v14 : (unit -> UH0) = closure2(v13) │
23:18:27 #720 [Debug] > │ UH0_0(v10, v14) │
23:18:27 #721 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #722 [Debug] > │ UH0_1 │
23:18:27 #723 [Debug] > │ let v18 : US0 = US0_0(v17) │
23:18:27 #724 [Debug] > │ v4.l0 <- v18 │
23:18:27 #725 [Debug] > │ v17 │
23:18:27 #726 [Debug] > │ let v21 : UH1 = UH1_1 │
23:18:27 #727 [Debug] > │ let v22 : int32 = 0 │
23:18:27 #728 [Debug] > │ let v23 : UH1 = method2(v20, v21, v22) │
23:18:27 #729 [Debug] > │ let v24 : int32 = 0 │
23:18:27 #730 [Debug] > │ let v25 : int32 = method5(v23, v24) │
23:18:27 #731 [Debug] > │ let v26 : bool = v25 = 10 │
23:18:27 #732 [Debug] > │ let v27 : string = $"_equal / actual: %A{v25} / expected: %A{10}" │
23:18:27 #733 [Debug] > │ let v28 : bool = v26 = false │
23:18:27 #734 [Debug] > │ if v28 then │
23:18:27 #735 [Debug] > │ failwith<unit> v27 │
23:18:27 #736 [Debug] > │ method0() │
23:18:27 #737 [Debug] > │ │
23:18:27 #738 [Debug] > │ print_and_return / x: 0 │
23:18:27 #739 [Debug] > │ print_and_return / x: 1 │
23:18:27 #740 [Debug] > │ print_and_return / x: 2 │
23:18:27 #741 [Debug] > │ print_and_return / x: 3 │
23:18:27 #742 [Debug] > │ print_and_return / x: 4 │
23:18:27 #743 [Debug] > │ print_and_return / x: 5 │
23:18:27 #744 [Debug] > │ │
23:18:27 #745 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:27 #746 [Debug] >
23:18:27 #747 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:27 #748 [Debug] > // // test
23:18:27 #749 [Debug] >
23:18:27 #750 [Debug] > listm'.new_finite_lazy_list print_and_return 10i32
23:18:27 #751 [Debug] > |> listm'.memoize_lazy_list
23:18:27 #752 [Debug] > |> fun list =>
23:18:27 #753 [Debug] > inl list = list ()
23:18:27 #754 [Debug] > fun n =>
23:18:27 #755 [Debug] > list |> listm'.try_lazy_item_ n
23:18:27 #756 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5)
23:18:27 #757 [Debug] > |> listm'.sum
23:18:27 #758 [Debug] > |> _equal 10
23:18:27 #759 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2755-5561-5ee2f3c47df6\main.spi
23:18:27 #760 [Debug] >
23:18:27 #761 [Debug] > ╭─[ 336.85ms - stdout ]────────────────────────────────────────────────────────╮
23:18:27 #762 [Debug] > │ type UH0 = │
23:18:27 #763 [Debug] > │ | UH0_0 of int32 * (unit -> UH0) │
23:18:27 #764 [Debug] > │ | UH0_1 │
23:18:27 #765 [Debug] > │ and [<Struct>] US0 = │
23:18:27 #766 [Debug] > │ | US0_0 of f0_0 : UH0 │
23:18:27 #767 [Debug] > │ | US0_1 of f1_0 : (unit -> UH0) │
23:18:27 #768 [Debug] > │ and Mut0 = {mutable l0 : US0} │
23:18:27 #769 [Debug] > │ and UH1 = │
23:18:27 #770 [Debug] > │ | UH1_0 of int32 * UH1 │
23:18:27 #771 [Debug] > │ | UH1_1 │
23:18:27 #772 [Debug] > │ and Mut1 = {mutable l0 : int32} │
23:18:27 #773 [Debug] > │ and Mut2 = {mutable l0 : UH0} │
23:18:27 #774 [Debug] > │ and [<Struct>] US1 = │
23:18:27 #775 [Debug] > │ | US1_0 │
23:18:27 #776 [Debug] > │ | US1_1 of f1_0 : int32 │
23:18:27 #777 [Debug] > │ let rec closure10 () () : UH0 = │
23:18:27 #778 [Debug] > │ UH0_1 │
23:18:27 #779 [Debug] > │ and closure9 () () : UH0 = │
23:18:27 #780 [Debug] > │ printfn $"print_and_return / x: {9}" │
23:18:27 #781 [Debug] > │ let v0 : (unit -> UH0) = closure10() │
23:18:27 #782 [Debug] > │ UH0_0(9, v0) │
23:18:27 #783 [Debug] > │ and closure8 () () : UH0 = │
23:18:27 #784 [Debug] > │ printfn $"print_and_return / x: {8}" │
23:18:27 #785 [Debug] > │ let v0 : (unit -> UH0) = closure9() │
23:18:27 #786 [Debug] > │ UH0_0(8, v0) │
23:18:27 #787 [Debug] > │ and closure7 () () : UH0 = │
23:18:27 #788 [Debug] > │ printfn $"print_and_return / x: {7}" │
23:18:27 #789 [Debug] > │ let v0 : (unit -> UH0) = closure8() │
23:18:27 #790 [Debug] > │ UH0_0(7, v0) │
23:18:27 #791 [Debug] > │ and closure6 () () : UH0 = │
23:18:27 #792 [Debug] > │ printfn $"print_and_return / x: {6}" │
23:18:27 #793 [Debug] > │ let v0 : (unit -> UH0) = closure7() │
23:18:27 #794 [Debug] > │ UH0_0(6, v0) │
23:18:27 #795 [Debug] > │ and closure5 () () : UH0 = │
23:18:27 #796 [Debug] > │ printfn $"print_and_return / x: {5}" │
23:18:27 #797 [Debug] > │ let v0 : (unit -> UH0) = closure6() │
23:18:27 #798 [Debug] > │ UH0_0(5, v0) │
23:18:27 #799 [Debug] > │ and closure4 () () : UH0 = │
23:18:27 #800 [Debug] > │ printfn $"print_and_return / x: {4}" │
23:18:27 #801 [Debug] > │ let v0 : (unit -> UH0) = closure5() │
23:18:27 #802 [Debug] > │ UH0_0(4, v0) │
23:18:27 #803 [Debug] > │ and closure3 () () : UH0 = │
23:18:27 #804 [Debug] > │ printfn $"print_and_return / x: {3}" │
23:18:27 #805 [Debug] > │ let v0 : (unit -> UH0) = closure4() │
23:18:27 #806 [Debug] > │ UH0_0(3, v0) │
23:18:27 #807 [Debug] > │ and closure2 () () : UH0 = │
23:18:27 #808 [Debug] > │ printfn $"print_and_return / x: {2}" │
23:18:27 #809 [Debug] > │ let v0 : (unit -> UH0) = closure3() │
23:18:27 #810 [Debug] > │ UH0_0(2, v0) │
23:18:27 #811 [Debug] > │ and closure1 () () : UH0 = │
23:18:27 #812 [Debug] > │ printfn $"print_and_return / x: {1}" │
23:18:27 #813 [Debug] > │ let v0 : (unit -> UH0) = closure2() │
23:18:27 #814 [Debug] > │ UH0_0(1, v0) │
23:18:27 #815 [Debug] > │ and closure0 () () : UH0 = │
23:18:27 #816 [Debug] > │ let v0 : (unit -> UH0) = closure1() │
23:18:27 #817 [Debug] > │ UH0_0(0, v0) │
23:18:27 #818 [Debug] > │ and closure11 (v0 : Mut0) () : UH0 = │
23:18:27 #819 [Debug] > │ let v1 : US0 = v0.l0 │
23:18:27 #820 [Debug] > │ match v1 with │
23:18:27 #821 [Debug] > │ | US0_0(v2) -> (* Computed *) │
23:18:27 #822 [Debug] > │ v2 │
23:18:27 #823 [Debug] > │ | US0_1(v3) -> (* NotComputed *) │
23:18:27 #824 [Debug] > │ let v4 : UH0 = v3 () │
23:18:27 #825 [Debug] > │ let v13 : UH0 = │
23:18:27 #826 [Debug] > │ match v4 with │
23:18:27 #827 [Debug] > │ | UH0_0(v6, v7) -> (* LazyCons *) │
23:18:27 #828 [Debug] > │ let v8 : US0 = US0_1(v7) │
23:18:27 #829 [Debug] > │ let v9 : Mut0 = {l0 = v8} : Mut0 │
23:18:27 #830 [Debug] > │ let v10 : (unit -> UH0) = closure11(v9) │
23:18:27 #831 [Debug] > │ UH0_0(v6, v10) │
23:18:27 #832 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #833 [Debug] > │ UH0_1 │
23:18:27 #834 [Debug] > │ let v14 : US0 = US0_0(v13) │
23:18:27 #835 [Debug] > │ v0.l0 <- v14 │
23:18:27 #836 [Debug] > │ v13 │
23:18:27 #837 [Debug] > │ and method2 (v0 : Mut1, v1 : Mut2) : US1 = │
23:18:27 #838 [Debug] > │ let v2 : UH0 = v1.l0 │
23:18:27 #839 [Debug] > │ match v2 with │
23:18:27 #840 [Debug] > │ | UH0_0(v3, v4) -> (* LazyCons *) │
23:18:27 #841 [Debug] > │ let v5 : int32 = v0.l0 │
23:18:27 #842 [Debug] > │ let v6 : bool = v5 = 0 │
23:18:27 #843 [Debug] > │ if v6 then │
23:18:27 #844 [Debug] > │ US1_1(v3) │
23:18:27 #845 [Debug] > │ else │
23:18:27 #846 [Debug] > │ let v8 : int32 = v0.l0 │
23:18:27 #847 [Debug] > │ let v9 : int32 = v8 - 1 │
23:18:27 #848 [Debug] > │ v0.l0 <- v9 │
23:18:27 #849 [Debug] > │ let v10 : UH0 = v4 () │
23:18:27 #850 [Debug] > │ v1.l0 <- v10 │
23:18:27 #851 [Debug] > │ method2(v0, v1) │
23:18:27 #852 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #853 [Debug] > │ US1_0 │
23:18:27 #854 [Debug] > │ and method3 (v0 : UH1, v1 : UH1) : UH1 = │
23:18:27 #855 [Debug] > │ match v0 with │
23:18:27 #856 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:27 #857 [Debug] > │ let v4 : UH1 = UH1_0(v2, v1) │
23:18:27 #858 [Debug] > │ method3(v3, v4) │
23:18:27 #859 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:27 #860 [Debug] > │ v1 │
23:18:27 #861 [Debug] > │ and method1 (v0 : UH0, v1 : UH1, v2 : int32) : UH1 = │
23:18:27 #862 [Debug] > │ let v3 : Mut1 = {l0 = v2} : Mut1 │
23:18:27 #863 [Debug] > │ let v4 : Mut2 = {l0 = v0} : Mut2 │
23:18:27 #864 [Debug] > │ let v5 : US1 = method2(v3, v4) │
23:18:27 #865 [Debug] > │ match v5 with │
23:18:27 #866 [Debug] > │ | US1_1(v6) -> (* Some *) │
23:18:27 #867 [Debug] > │ let v7 : bool = v6 < 5 │
23:18:27 #868 [Debug] > │ if v7 then │
23:18:27 #869 [Debug] > │ let v8 : UH1 = UH1_0(v6, v1) │
23:18:27 #870 [Debug] > │ let v9 : int32 = v2 + 1 │
23:18:27 #871 [Debug] > │ method1(v0, v8, v9) │
23:18:27 #872 [Debug] > │ else │
23:18:27 #873 [Debug] > │ let v11 : UH1 = UH1_1 │
23:18:27 #874 [Debug] > │ method3(v1, v11) │
23:18:27 #875 [Debug] > │ | _ -> │
23:18:27 #876 [Debug] > │ let v14 : UH1 = UH1_1 │
23:18:27 #877 [Debug] > │ method3(v1, v14) │
23:18:27 #878 [Debug] > │ and method4 (v0 : UH1, v1 : int32) : int32 = │
23:18:27 #879 [Debug] > │ match v0 with │
23:18:27 #880 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:27 #881 [Debug] > │ let v4 : int32 = v1 + v2 │
23:18:27 #882 [Debug] > │ method4(v3, v4) │
23:18:27 #883 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:27 #884 [Debug] > │ v1 │
23:18:27 #885 [Debug] > │ and method0 () : unit = │
23:18:27 #886 [Debug] > │ printfn $"print_and_return / x: {0}" │
23:18:27 #887 [Debug] > │ let v0 : (unit -> UH0) = closure0() │
23:18:27 #888 [Debug] > │ let v1 : US0 = US0_1(v0) │
23:18:27 #889 [Debug] > │ let v2 : Mut0 = {l0 = v1} : Mut0 │
23:18:27 #890 [Debug] > │ let v3 : US0 = v2.l0 │
23:18:27 #891 [Debug] > │ let v18 : UH0 = │
23:18:27 #892 [Debug] > │ match v3 with │
23:18:27 #893 [Debug] > │ | US0_0(v4) -> (* Computed *) │
23:18:27 #894 [Debug] > │ v4 │
23:18:27 #895 [Debug] > │ | US0_1(v5) -> (* NotComputed *) │
23:18:27 #896 [Debug] > │ let v6 : UH0 = v5 () │
23:18:27 #897 [Debug] > │ let v15 : UH0 = │
23:18:27 #898 [Debug] > │ match v6 with │
23:18:27 #899 [Debug] > │ | UH0_0(v8, v9) -> (* LazyCons *) │
23:18:27 #900 [Debug] > │ let v10 : US0 = US0_1(v9) │
23:18:27 #901 [Debug] > │ let v11 : Mut0 = {l0 = v10} : Mut0 │
23:18:27 #902 [Debug] > │ let v12 : (unit -> UH0) = closure11(v11) │
23:18:27 #903 [Debug] > │ UH0_0(v8, v12) │
23:18:27 #904 [Debug] > │ | UH0_1 -> (* LazyNil *) │
23:18:27 #905 [Debug] > │ UH0_1 │
23:18:27 #906 [Debug] > │ let v16 : US0 = US0_0(v15) │
23:18:27 #907 [Debug] > │ v2.l0 <- v16 │
23:18:27 #908 [Debug] > │ v15 │
23:18:27 #909 [Debug] > │ let v19 : UH1 = UH1_1 │
23:18:27 #910 [Debug] > │ let v20 : int32 = 0 │
23:18:27 #911 [Debug] > │ let v21 : UH1 = method1(v18, v19, v20) │
23:18:27 #912 [Debug] > │ let v22 : int32 = 0 │
23:18:27 #913 [Debug] > │ let v23 : int32 = method4(v21, v22) │
23:18:27 #914 [Debug] > │ let v24 : bool = v23 = 10 │
23:18:27 #915 [Debug] > │ let v25 : string = $"_equal / actual: %A{v23} / expected: %A{10}" │
23:18:27 #916 [Debug] > │ let v26 : bool = v24 = false │
23:18:27 #917 [Debug] > │ if v26 then │
23:18:27 #918 [Debug] > │ failwith<unit> v25 │
23:18:27 #919 [Debug] > │ method0() │
23:18:27 #920 [Debug] > │ │
23:18:27 #921 [Debug] > │ print_and_return / x: 0 │
23:18:27 #922 [Debug] > │ print_and_return / x: 1 │
23:18:27 #923 [Debug] > │ print_and_return / x: 2 │
23:18:27 #924 [Debug] > │ print_and_return / x: 3 │
23:18:27 #925 [Debug] > │ print_and_return / x: 4 │
23:18:27 #926 [Debug] > │ print_and_return / x: 5 │
23:18:27 #927 [Debug] > │ │
23:18:27 #928 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:27 #929 [Debug] >
23:18:27 #930 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:27 #931 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:27 #932 [Debug] > │ ## memoize │
23:18:27 #933 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:27 #934 [Debug] >
23:18:27 #935 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:27 #936 [Debug] > inl memoize seq =
23:18:27 #937 [Debug] > inl state = mut [[]]
23:18:27 #938 [Debug] > fun n =>
23:18:27 #939 [Debug] > match *state |> listm'.try_find (fun (n', _) => n' = n) with
23:18:27 #940 [Debug] > | Some (_, v) => v
23:18:27 #941 [Debug] > | None =>
23:18:27 #942 [Debug] > inl new_state = seq n
23:18:27 #943 [Debug] > state <- (n, new_state) :: *state
23:18:27 #944 [Debug] > new_state
23:18:27 #945 [Debug] >
23:18:27 #946 [Debug] > inl memoize_ seq =
23:18:27 #947 [Debug] > inl state = mut [[]]
23:18:27 #948 [Debug] > fun n =>
23:18:27 #949 [Debug] > match *state |> listm'.try_find_ (fun (n', _) => n' = n) with
23:18:27 #950 [Debug] > | Some (_, v) => v
23:18:27 #951 [Debug] > | None =>
23:18:27 #952 [Debug] > inl new_state = seq n
23:18:27 #953 [Debug] > state <- (n, new_state) :: *state
23:18:27 #954 [Debug] > new_state
23:18:28 #955 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2797-9708-97a94e86754c\main.spi
23:18:28 #956 [Debug] >
23:18:28 #957 [Debug] > ╭─[ 238.87ms - stdout ]────────────────────────────────────────────────────────╮
23:18:28 #958 [Debug] > │ () │
23:18:28 #959 [Debug] > │ │
23:18:28 #960 [Debug] > │ │
23:18:28 #961 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:28 #962 [Debug] >
23:18:28 #963 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:28 #964 [Debug] > // // test
23:18:28 #965 [Debug] >
23:18:28 #966 [Debug] > inl seq =
23:18:28 #967 [Debug] > fun n =>
23:18:28 #968 [Debug] > n |> print_and_return |> Some
23:18:28 #969 [Debug] > |> memoize_
23:18:28 #970 [Debug] >
23:18:28 #971 [Debug] > seq
23:18:28 #972 [Debug] > |> take_while_ (fun n (_ : i32) => n < 5)
23:18:28 #973 [Debug] > |> listm'.sum
23:18:28 #974 [Debug] > |> _equal 10
23:18:28 #975 [Debug] >
23:18:28 #976 [Debug] > seq
23:18:28 #977 [Debug] > |> take_while_ (fun n _ => n < 5)
23:18:28 #978 [Debug] > |> listm'.sum
23:18:28 #979 [Debug] > |> _equal 10
23:18:28 #980 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2821-2115-275de1efe204\main.spi
23:18:28 #981 [Debug] >
23:18:28 #982 [Debug] > ╭─[ 306.50ms - stdout ]────────────────────────────────────────────────────────╮
23:18:28 #983 [Debug] > │ type [<Struct>] US0 = │
23:18:28 #984 [Debug] > │ | US0_0 │
23:18:28 #985 [Debug] > │ | US0_1 of f1_0 : int32 │
23:18:28 #986 [Debug] > │ and UH0 = │
23:18:28 #987 [Debug] > │ | UH0_0 of int32 * US0 * UH0 │
23:18:28 #988 [Debug] > │ | UH0_1 │
23:18:28 #989 [Debug] > │ and Mut0 = {mutable l0 : UH0} │
23:18:28 #990 [Debug] > │ and UH1 = │
23:18:28 #991 [Debug] > │ | UH1_0 of int32 * UH1 │
23:18:28 #992 [Debug] > │ | UH1_1 │
23:18:28 #993 [Debug] > │ and [<Struct>] US1 = │
23:18:28 #994 [Debug] > │ | US1_0 │
23:18:28 #995 [Debug] > │ | US1_1 of f1_0 : int32 * f1_1 : US0 │
23:18:28 #996 [Debug] > │ let rec method2 (v0 : int32, v1 : UH0) : US1 = │
23:18:28 #997 [Debug] > │ match v1 with │
23:18:28 #998 [Debug] > │ | UH0_0(v3, v4, v5) -> (* Cons *) │
23:18:28 #999 [Debug] > │ let v6 : bool = v3 = v0 │
23:18:28 #1000 [Debug] > │ if v6 then │
23:18:28 #1001 [Debug] > │ US1_1(v3, v4) │
23:18:28 #1002 [Debug] > │ else │
23:18:28 #1003 [Debug] > │ method2(v0, v5) │
23:18:28 #1004 [Debug] > │ | UH0_1 -> (* Nil *) │
23:18:28 #1005 [Debug] > │ US1_0 │
23:18:28 #1006 [Debug] > │ and method3 (v0 : UH1, v1 : UH1) : UH1 = │
23:18:28 #1007 [Debug] > │ match v0 with │
23:18:28 #1008 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:28 #1009 [Debug] > │ let v4 : UH1 = UH1_0(v2, v1) │
23:18:28 #1010 [Debug] > │ method3(v3, v4) │
23:18:28 #1011 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:28 #1012 [Debug] > │ v1 │
23:18:28 #1013 [Debug] > │ and method1 (v0 : Mut0, v1 : UH1, v2 : int32) : UH1 = │
23:18:28 #1014 [Debug] > │ let v3 : UH0 = v0.l0 │
23:18:28 #1015 [Debug] > │ let v4 : US1 = method2(v2, v3) │
23:18:28 #1016 [Debug] > │ let v12 : US0 = │
23:18:28 #1017 [Debug] > │ match v4 with │
23:18:28 #1018 [Debug] > │ | US1_0 -> (* None *) │
23:18:28 #1019 [Debug] > │ printfn $"print_and_return / x: {v2}" │
23:18:28 #1020 [Debug] > │ let v7 : UH0 = v0.l0 │
23:18:28 #1021 [Debug] > │ let v8 : US0 = US0_1(v2) │
23:18:28 #1022 [Debug] > │ let v9 : UH0 = UH0_0(v2, v8, v7) │
23:18:28 #1023 [Debug] > │ v0.l0 <- v9 │
23:18:28 #1024 [Debug] > │ US0_1(v2) │
23:18:28 #1025 [Debug] > │ | US1_1(v5, v6) -> (* Some *) │
23:18:28 #1026 [Debug] > │ v6 │
23:18:28 #1027 [Debug] > │ match v12 with │
23:18:28 #1028 [Debug] > │ | US0_1(v13) -> (* Some *) │
23:18:28 #1029 [Debug] > │ let v14 : bool = v13 < 5 │
23:18:28 #1030 [Debug] > │ if v14 then │
23:18:28 #1031 [Debug] > │ let v15 : UH1 = UH1_0(v13, v1) │
23:18:28 #1032 [Debug] > │ let v16 : int32 = v2 + 1 │
23:18:28 #1033 [Debug] > │ method1(v0, v15, v16) │
23:18:28 #1034 [Debug] > │ else │
23:18:28 #1035 [Debug] > │ let v18 : UH1 = UH1_1 │
23:18:28 #1036 [Debug] > │ method3(v1, v18) │
23:18:28 #1037 [Debug] > │ | _ -> │
23:18:28 #1038 [Debug] > │ let v21 : UH1 = UH1_1 │
23:18:28 #1039 [Debug] > │ method3(v1, v21) │
23:18:28 #1040 [Debug] > │ and method4 (v0 : UH1, v1 : int32) : int32 = │
23:18:28 #1041 [Debug] > │ match v0 with │
23:18:28 #1042 [Debug] > │ | UH1_0(v2, v3) -> (* Cons *) │
23:18:28 #1043 [Debug] > │ let v4 : int32 = v1 + v2 │
23:18:28 #1044 [Debug] > │ method4(v3, v4) │
23:18:28 #1045 [Debug] > │ | UH1_1 -> (* Nil *) │
23:18:28 #1046 [Debug] > │ v1 │
23:18:28 #1047 [Debug] > │ and method5 (v0 : Mut0, v1 : UH1, v2 : int32) : UH1 = │
23:18:28 #1048 [Debug] > │ let v3 : UH0 = v0.l0 │
23:18:28 #1049 [Debug] > │ let v4 : US1 = method2(v2, v3) │
23:18:28 #1050 [Debug] > │ let v12 : US0 = │
23:18:28 #1051 [Debug] > │ match v4 with │
23:18:28 #1052 [Debug] > │ | US1_0 -> (* None *) │
23:18:28 #1053 [Debug] > │ printfn $"print_and_return / x: {v2}" │
23:18:28 #1054 [Debug] > │ let v7 : UH0 = v0.l0 │
23:18:28 #1055 [Debug] > │ let v8 : US0 = US0_1(v2) │
23:18:28 #1056 [Debug] > │ let v9 : UH0 = UH0_0(v2, v8, v7) │
23:18:28 #1057 [Debug] > │ v0.l0 <- v9 │
23:18:28 #1058 [Debug] > │ US0_1(v2) │
23:18:28 #1059 [Debug] > │ | US1_1(v5, v6) -> (* Some *) │
23:18:28 #1060 [Debug] > │ v6 │
23:18:28 #1061 [Debug] > │ match v12 with │
23:18:28 #1062 [Debug] > │ | US0_1(v13) -> (* Some *) │
23:18:28 #1063 [Debug] > │ let v14 : bool = v13 < 5 │
23:18:28 #1064 [Debug] > │ if v14 then │
23:18:28 #1065 [Debug] > │ let v15 : UH1 = UH1_0(v13, v1) │
23:18:28 #1066 [Debug] > │ let v16 : int32 = v2 + 1 │
23:18:28 #1067 [Debug] > │ method5(v0, v15, v16) │
23:18:28 #1068 [Debug] > │ else │
23:18:28 #1069 [Debug] > │ let v18 : UH1 = UH1_1 │
23:18:28 #1070 [Debug] > │ method3(v1, v18) │
23:18:28 #1071 [Debug] > │ | _ -> │
23:18:28 #1072 [Debug] > │ let v21 : UH1 = UH1_1 │
23:18:28 #1073 [Debug] > │ method3(v1, v21) │
23:18:28 #1074 [Debug] > │ and method0 () : unit = │
23:18:28 #1075 [Debug] > │ let v0 : UH0 = UH0_1 │
23:18:28 #1076 [Debug] > │ let v1 : Mut0 = {l0 = v0} : Mut0 │
23:18:28 #1077 [Debug] > │ let v2 : UH1 = UH1_1 │
23:18:28 #1078 [Debug] > │ let v3 : int32 = 0 │
23:18:28 #1079 [Debug] > │ let v4 : UH1 = method1(v1, v2, v3) │
23:18:28 #1080 [Debug] > │ let v5 : int32 = 0 │
23:18:28 #1081 [Debug] > │ let v6 : int32 = method4(v4, v5) │
23:18:28 #1082 [Debug] > │ let v7 : bool = v6 = 10 │
23:18:28 #1083 [Debug] > │ let v8 : string = $"_equal / actual: %A{v6} / expected: %A{10}" │
23:18:28 #1084 [Debug] > │ let v9 : bool = v7 = false │
23:18:28 #1085 [Debug] > │ if v9 then │
23:18:28 #1086 [Debug] > │ failwith<unit> v8 │
23:18:28 #1087 [Debug] > │ let v10 : UH1 = UH1_1 │
23:18:28 #1088 [Debug] > │ let v11 : int32 = 0 │
23:18:28 #1089 [Debug] > │ let v12 : UH1 = method5(v1, v10, v11) │
23:18:28 #1090 [Debug] > │ let v13 : int32 = 0 │
23:18:28 #1091 [Debug] > │ let v14 : int32 = method4(v12, v13) │
23:18:28 #1092 [Debug] > │ let v15 : bool = v14 = 10 │
23:18:28 #1093 [Debug] > │ let v16 : string = $"_equal / actual: %A{v14} / expected: %A{10}" │
23:18:28 #1094 [Debug] > │ let v17 : bool = v15 = false │
23:18:28 #1095 [Debug] > │ if v17 then │
23:18:28 #1096 [Debug] > │ failwith<unit> v16 │
23:18:28 #1097 [Debug] > │ method0() │
23:18:28 #1098 [Debug] > │ │
23:18:28 #1099 [Debug] > │ print_and_return / x: 0 │
23:18:28 #1100 [Debug] > │ print_and_return / x: 1 │
23:18:28 #1101 [Debug] > │ print_and_return / x: 2 │
23:18:28 #1102 [Debug] > │ print_and_return / x: 3 │
23:18:28 #1103 [Debug] > │ print_and_return / x: 4 │
23:18:28 #1104 [Debug] > │ print_and_return / x: 5 │
23:18:28 #1105 [Debug] > │ │
23:18:28 #1106 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:28 #1107 [Debug] >
23:18:28 #1108 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:28 #1109 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:28 #1110 [Debug] > │ ## iterate │
23:18:28 #1111 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:28 #1112 [Debug] >
23:18:28 #1113 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:28 #1114 [Debug] > inl iterate f x0 num_steps =
23:18:28 #1115 [Debug] > inl rec loop x n =
23:18:28 #1116 [Debug] > if n <= 0
23:18:28 #1117 [Debug] > then x
23:18:28 #1118 [Debug] > else loop (f x) (n - 1)
23:18:28 #1119 [Debug] > loop x0 num_steps
23:18:28 #1120 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2860-6027-6c4e17f7bd16\main.spi
23:18:28 #1121 [Debug] >
23:18:28 #1122 [Debug] > ╭─[ 145.25ms - stdout ]────────────────────────────────────────────────────────╮
23:18:28 #1123 [Debug] > │ () │
23:18:28 #1124 [Debug] > │ │
23:18:28 #1125 [Debug] > │ │
23:18:28 #1126 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:28 #1127 [Debug] >
23:18:28 #1128 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:28 #1129 [Debug] > // // test
23:18:28 #1130 [Debug] >
23:18:28 #1131 [Debug] > 10i32 |> iterate ((*) 2) 1i32
23:18:28 #1132 [Debug] > |> _equal 1024
23:18:28 #1133 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2874-7481-76a31238b93c\main.spi
23:18:28 #1134 [Debug] >
23:18:28 #1135 [Debug] > ╭─[ 161.06ms - stdout ]────────────────────────────────────────────────────────╮
23:18:28 #1136 [Debug] > │ let rec method0 () : unit = │
23:18:28 #1137 [Debug] > │ let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}" │
23:18:28 #1138 [Debug] > │ () │
23:18:28 #1139 [Debug] > │ method0() │
23:18:28 #1140 [Debug] > │ │
23:18:28 #1141 [Debug] > │ │
23:18:28 #1142 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:28 #1143 [Debug] >
23:18:28 #1144 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:28 #1145 [Debug] > inl iterate_ f x0 num_steps =
23:18:28 #1146 [Debug] > let rec loop x n =
23:18:28 #1147 [Debug] > if n <= 0
23:18:28 #1148 [Debug] > then x
23:18:28 #1149 [Debug] > else loop (f x) (n - 1)
23:18:28 #1150 [Debug] > loop x0 num_steps
23:18:29 #1151 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2891-9140-9ed14e692c2a\main.spi
23:18:29 #1152 [Debug] >
23:18:29 #1153 [Debug] > ╭─[ 146.65ms - stdout ]────────────────────────────────────────────────────────╮
23:18:29 #1154 [Debug] > │ () │
23:18:29 #1155 [Debug] > │ │
23:18:29 #1156 [Debug] > │ │
23:18:29 #1157 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:29 #1158 [Debug] >
23:18:29 #1159 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:29 #1160 [Debug] > // // test
23:18:29 #1161 [Debug] >
23:18:29 #1162 [Debug] > 10i32 |> iterate_ ((*) 2) 1i32
23:18:29 #1163 [Debug] > |> _equal 1024
23:18:29 #1164 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2906-0618-09f21a2aa9c8\main.spi
23:18:29 #1165 [Debug] >
23:18:29 #1166 [Debug] > ╭─[ 150.98ms - stdout ]────────────────────────────────────────────────────────╮
23:18:29 #1167 [Debug] > │ let rec method1 (v0 : int32, v1 : int32) : int32 = │
23:18:29 #1168 [Debug] > │ let v2 : bool = v1 <= 0 │
23:18:29 #1169 [Debug] > │ if v2 then │
23:18:29 #1170 [Debug] > │ v0 │
23:18:29 #1171 [Debug] > │ else │
23:18:29 #1172 [Debug] > │ let v3 : int32 = 2 * v0 │
23:18:29 #1173 [Debug] > │ let v4 : int32 = v1 - 1 │
23:18:29 #1174 [Debug] > │ method1(v3, v4) │
23:18:29 #1175 [Debug] > │ and method0 () : unit = │
23:18:29 #1176 [Debug] > │ let v0 : int32 = 1 │
23:18:29 #1177 [Debug] > │ let v1 : int32 = 10 │
23:18:29 #1178 [Debug] > │ let v2 : int32 = method1(v0, v1) │
23:18:29 #1179 [Debug] > │ let v3 : bool = v2 = 1024 │
23:18:29 #1180 [Debug] > │ let v4 : string = $"_equal / actual: %A{v2} / expected: %A{1024}" │
23:18:29 #1181 [Debug] > │ let v5 : bool = v3 = false │
23:18:29 #1182 [Debug] > │ if v5 then │
23:18:29 #1183 [Debug] > │ failwith<unit> v4 │
23:18:29 #1184 [Debug] > │ method0() │
23:18:29 #1185 [Debug] > │ │
23:18:29 #1186 [Debug] > │ │
23:18:29 #1187 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:29 #1188 [Debug] >
23:18:29 #1189 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:29 #1190 [Debug] > inl iterate' f x0 num_steps =
23:18:29 #1191 [Debug] > listm.init num_steps id
23:18:29 #1192 [Debug] > |> listm.fold (fun x _ => f x) x0
23:18:29 #1193 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2922-2232-2716bc1215a6\main.spi
23:18:29 #1194 [Debug] >
23:18:29 #1195 [Debug] > ╭─[ 131.18ms - stdout ]────────────────────────────────────────────────────────╮
23:18:29 #1196 [Debug] > │ () │
23:18:29 #1197 [Debug] > │ │
23:18:29 #1198 [Debug] > │ │
23:18:29 #1199 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:29 #1200 [Debug] >
23:18:29 #1201 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:29 #1202 [Debug] > // // test
23:18:29 #1203 [Debug] >
23:18:29 #1204 [Debug] > 10i32 |> iterate' ((*) 2) 1i32
23:18:29 #1205 [Debug] > |> _equal 1024
23:18:29 #1206 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-2935-3582-344e53cb19a8\main.spi
23:18:29 #1207 [Debug] >
23:18:29 #1208 [Debug] > ╭─[ 146.88ms - stdout ]────────────────────────────────────────────────────────╮
23:18:29 #1209 [Debug] > │ let rec method0 () : unit = │
23:18:29 #1210 [Debug] > │ let v0 : string = $"_equal / actual: %A{1024} / expected: %A{1024}" │
23:18:29 #1211 [Debug] > │ () │
23:18:29 #1212 [Debug] > │ method0() │
23:18:29 #1213 [Debug] > │ │
23:18:29 #1214 [Debug] > │ │
23:18:29 #1215 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:31 #1216 [Debug] > [NbConvertApp] Converting notebook seq.dib.ipynb to html
23:18:31 #1217 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:18:31 #1218 [Debug] > validate(nb)
23:18:32 #1219 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:18:32 #1220 [Debug] > return _pygments_highlight(
23:18:32 #1221 [Debug] > [NbConvertApp] Writing 351055 bytes to seq.dib.html
23:18:33 #1222 [Debug] executeAsync / exitCode: 0 / proc.Id: 42220 / output.Length: 77905
23:18:33 #1223 [Debug] main / executeCommand / exitCode: 0
23:18:34 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:18:34 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:18:34 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:18:34 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:18:35 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:18:35 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:18:35 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:18:35 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:18:35 #9 [Debug] > Server bound to: http://localhost:13805
23:18:35 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 util.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:18:38 #11 [Debug] >
23:18:38 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:38 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:38 #14 [Debug] > │ # util │
23:18:38 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:38 #16 [Debug] >
23:18:38 #17 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:38 #18 [Debug] > // // test
23:18:38 #19 [Debug] >
23:18:38 #20 [Debug] > open testing
23:18:42 #21 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-4134-3488-32c853a33c04\main.spi
23:18:44 #22 [Debug] >
23:18:44 #23 [Debug] > ╭─[ 6.13s - stdout ]───────────────────────────────────────────────────────────╮
23:18:44 #24 [Debug] > │ () │
23:18:44 #25 [Debug] > │ │
23:18:44 #26 [Debug] > │ │
23:18:44 #27 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:44 #28 [Debug] >
23:18:44 #29 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:44 #30 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:44 #31 [Debug] > │ ## ski │
23:18:44 #32 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:44 #33 [Debug] >
23:18:44 #34 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:44 #35 [Debug] > union rec ski =
23:18:44 #36 [Debug] > | I
23:18:44 #37 [Debug] > | K
23:18:44 #38 [Debug] > | S
23:18:44 #39 [Debug] > | App : ski * ski
23:18:44 #40 [Debug] >
23:18:44 #41 [Debug] > inl rec eval ski =
23:18:44 #42 [Debug] > match ski with
23:18:44 #43 [Debug] > | App (App (K, x), y) => eval x
23:18:44 #44 [Debug] > | App (App (App (S, x), y), z) => eval (App (App (x, z), App (y, z)))
23:18:44 #45 [Debug] > | App (I, x) => eval x
23:18:44 #46 [Debug] > | App (K, x) => App (K, eval x)
23:18:44 #47 [Debug] > | App (f, x) => eval (App (eval f, x))
23:18:44 #48 [Debug] > | _ => ski
23:18:45 #49 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-4492-9296-9baae5c264d0\main.spi
23:18:45 #50 [Debug] >
23:18:45 #51 [Debug] > ╭─[ 207.06ms - stdout ]────────────────────────────────────────────────────────╮
23:18:45 #52 [Debug] > │ () │
23:18:45 #53 [Debug] > │ │
23:18:45 #54 [Debug] > │ │
23:18:45 #55 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:45 #56 [Debug] >
23:18:45 #57 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:18:45 #58 [Debug] > // // test
23:18:45 #59 [Debug] >
23:18:45 #60 [Debug] > eval I
23:18:45 #61 [Debug] > |> _equal I
23:18:45 #62 [Debug] >
23:18:45 #63 [Debug] > eval (App (I, I))
23:18:45 #64 [Debug] > |> _equal I
23:18:45 #65 [Debug] >
23:18:45 #66 [Debug] > eval (App (I, App (I, I)))
23:18:45 #67 [Debug] > |> _equal I
23:18:45 #68 [Debug] >
23:18:45 #69 [Debug] > eval (App (App (I, I), I))
23:18:45 #70 [Debug] > |> _equal I
23:18:45 #71 [Debug] >
23:18:45 #72 [Debug] > eval (App (App (App (I, I), I), I))
23:18:45 #73 [Debug] > |> _equal I
23:18:45 #74 [Debug] >
23:18:45 #75 [Debug] > eval K
23:18:45 #76 [Debug] > |> _equal K
23:18:45 #77 [Debug] >
23:18:45 #78 [Debug] > eval (App (K, I))
23:18:45 #79 [Debug] > |> _equal (App (K, I))
23:18:45 #80 [Debug] >
23:18:45 #81 [Debug] > eval (App (K, K))
23:18:45 #82 [Debug] > |> _equal (App (K, K))
23:18:45 #83 [Debug] >
23:18:45 #84 [Debug] > eval (App (App (K, I), K))
23:18:45 #85 [Debug] > |> _equal I
23:18:45 #86 [Debug] >
23:18:45 #87 [Debug] > eval (App (App (K, K), I))
23:18:45 #88 [Debug] > |> _equal K
23:18:45 #89 [Debug] >
23:18:45 #90 [Debug] > eval (App (App (App (App (K, K), I), S), K))
23:18:45 #91 [Debug] > |> _equal S
23:18:45 #92 [Debug] >
23:18:45 #93 [Debug] > eval S
23:18:45 #94 [Debug] > |> _equal S
23:18:45 #95 [Debug] >
23:18:45 #96 [Debug] > eval (App (App (App (S, I), I), I))
23:18:45 #97 [Debug] > |> _equal I
23:18:45 #98 [Debug] >
23:18:45 #99 [Debug] > eval (App (App (App (S, K), K), I))
23:18:45 #100 [Debug] > |> _equal I
23:18:45 #101 [Debug] >
23:18:45 #102 [Debug] > eval (App (App (App (S, K), I), (App (App (K, I), S))))
23:18:45 #103 [Debug] > |> _equal I
23:18:45 #104 [Debug] >
23:18:45 #105 [Debug] > eval (App (App (K, S), App (I, App (App (App (S, K), S), I))))
23:18:45 #106 [Debug] > |> _equal S
23:18:45 #107 [Debug] >
23:18:45 #108 [Debug] > eval (App (App (App (S, K), I), K))
23:18:45 #109 [Debug] > |> _equal K
23:18:45 #110 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2318-4513-1309-1a8d635d4281\main.spi
23:18:46 #111 [Debug] >
23:18:46 #112 [Debug] > ╭─[ 1.48s - stdout ]───────────────────────────────────────────────────────────╮
23:18:46 #113 [Debug] > │ type UH0 = │
23:18:46 #114 [Debug] > │ | UH0_0 of UH0 * UH0 │
23:18:46 #115 [Debug] > │ | UH0_1 │
23:18:46 #116 [Debug] > │ | UH0_2 │
23:18:46 #117 [Debug] > │ | UH0_3 │
23:18:46 #118 [Debug] > │ let rec method0 () : unit = │
23:18:46 #119 [Debug] > │ let v3 : UH0 = UH0_1 │
23:18:46 #120 [Debug] > │ let v4 : UH0 = UH0_1 │
23:18:46 #121 [Debug] > │ let v5 : string = $"_equal / actual: %A{v3} / expected: %A{v4}" │
23:18:46 #122 [Debug] > │ let v9 : UH0 = UH0_1 │
23:18:46 #123 [Debug] > │ let v10 : UH0 = UH0_1 │
23:18:46 #124 [Debug] > │ let v11 : string = $"_equal / actual: %A{v9} / expected: %A{v10}" │
23:18:46 #125 [Debug] > │ let v15 : UH0 = UH0_1 │
23:18:46 #126 [Debug] > │ let v16 : UH0 = UH0_1 │
23:18:46 #127 [Debug] > │ let v17 : string = $"_equal / actual: %A{v15} / expected: %A{v16}" │
23:18:46 #128 [Debug] > │ let v21 : UH0 = UH0_1 │
23:18:46 #129 [Debug] > │ let v22 : UH0 = UH0_1 │
23:18:46 #130 [Debug] > │ let v23 : string = $"_equal / actual: %A{v21} / expected: %A{v22}" │
23:18:46 #131 [Debug] > │ let v27 : UH0 = UH0_1 │
23:18:46 #132 [Debug] > │ let v28 : UH0 = UH0_1 │
23:18:46 #133 [Debug] > │ let v29 : string = $"_equal / actual: %A{v27} / expected: %A{v28}" │
23:18:46 #134 [Debug] > │ let v33 : UH0 = UH0_2 │
23:18:46 #135 [Debug] > │ let v34 : UH0 = UH0_2 │
23:18:46 #136 [Debug] > │ let v35 : string = $"_equal / actual: %A{v33} / expected: %A{v34}" │
23:18:46 #137 [Debug] > │ let v47 : UH0 = UH0_2 │
23:18:46 #138 [Debug] > │ let v48 : UH0 = UH0_1 │
23:18:46 #139 [Debug] > │ let v49 : UH0 = UH0_0(v47, v48) │
23:18:46 #140 [Debug] > │ let v50 : UH0 = UH0_2 │
23:18:46 #141 [Debug] > │ let v51 : UH0 = UH0_1 │
23:18:46 #142 [Debug] > │ let v52 : UH0 = UH0_0(v50, v51) │
23:18:46 #143 [Debug] > │ let v53 : string = $"_equal / actual: %A{v49} / expected: %A{v52}" │
23:18:46 #144 [Debug] > │ let v65 : UH0 = UH0_2 │
23:18:46 #145 [Debug] > │ let v66 : UH0 = UH0_2 │
23:18:46 #146 [Debug] > │ let v67 : UH0 = UH0_0(v65, v66) │
23:18:46 #147 [Debug] > │ let v68 : UH0 = UH0_2 │
23:18:46 #148 [Debug] > │ let v69 : UH0 = UH0_2 │
23:18:46 #149 [Debug] > │ let v70 : UH0 = UH0_0(v68, v69) │
23:18:46 #150 [Debug] > │ let v71 : string = $"_equal / actual: %A{v67} / expected: %A{v70}" │
23:18:46 #151 [Debug] > │ let v75 : UH0 = UH0_1 │
23:18:46 #152 [Debug] > │ let v76 : UH0 = UH0_1 │
23:18:46 #153 [Debug] > │ let v77 : string = $"_equal / actual: %A{v75} / expected: %A{v76}" │
23:18:46 #154 [Debug] > │ let v81 : UH0 = UH0_2 │
23:18:46 #155 [Debug] > │ let v82 : UH0 = UH0_2 │
23:18:46 #156 [Debug] > │ let v83 : string = $"_equal / actual: %A{v81} / expected: %A{v82}" │
23:18:46 #157 [Debug] > │ let v87 : UH0 = UH0_3 │
23:18:46 #158 [Debug] > │ let v88 : UH0 = UH0_3 │
23:18:46 #159 [Debug] > │ let v89 : string = $"_equal / actual: %A{v87} / expected: %A{v88}" │
23:18:46 #160 [Debug] > │ let v93 : UH0 = UH0_3 │
23:18:46 #161 [Debug] > │ let v94 : UH0 = UH0_3 │
23:18:46 #162 [Debug] > │ let v95 : string = $"_equal / actual: %A{v93} / expected: %A{v94}" │
23:18:46 #163 [Debug] > │ let v99 : UH0 = UH0_1 │
23:18:46 #164 [Debug] > │ let v100 : UH0 = UH0_1 │
23:18:46 #165 [Debug] > │ let v101 : string = $"_equal / actual: %A{v99} / expected: %A{v100}" │
23:18:46 #166 [Debug] > │ let v105 : UH0 = UH0_1 │
23:18:46 #167 [Debug] > │ let v106 : UH0 = UH0_1 │
23:18:46 #168 [Debug] > │ let v107 : string = $"_equal / actual: %A{v105} / expected: %A{v106}" │
23:18:46 #169 [Debug] > │ let v111 : UH0 = UH0_1 │
23:18:46 #170 [Debug] > │ let v112 : UH0 = UH0_1 │
23:18:46 #171 [Debug] > │ let v113 : string = $"_equal / actual: %A{v111} / expected: %A{v112}" │
23:18:46 #172 [Debug] > │ let v117 : UH0 = UH0_3 │
23:18:46 #173 [Debug] > │ let v118 : UH0 = UH0_3 │
23:18:46 #174 [Debug] > │ let v119 : string = $"_equal / actual: %A{v117} / expected: %A{v118}" │
23:18:46 #175 [Debug] > │ let v123 : UH0 = UH0_2 │
23:18:46 #176 [Debug] > │ let v124 : UH0 = UH0_2 │
23:18:46 #177 [Debug] > │ let v125 : string = $"_equal / actual: %A{v123} / expected: %A{v124}" │
23:18:46 #178 [Debug] > │ () │
23:18:46 #179 [Debug] > │ method0() │
23:18:46 #180 [Debug] > │ │
23:18:46 #181 [Debug] > │ │
23:18:46 #182 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:48 #183 [Debug] > [NbConvertApp] Converting notebook util.dib.ipynb to html
23:18:48 #184 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:18:48 #185 [Debug] > validate(nb)
23:18:49 #186 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:18:49 #187 [Debug] > return _pygments_highlight(
23:18:49 #188 [Debug] > [NbConvertApp] Writing 285538 bytes to util.dib.html
23:18:50 #189 [Debug] executeAsync / exitCode: 0 / proc.Id: 73672 / output.Length: 9299
23:18:50 #190 [Debug] main / executeCommand / exitCode: 0
23:18:50 #1 [Debug] runWithTimeoutAsync / timeout: 60
23:18:51 #2 [Debug] executeAsync / options: { Command =
"dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" port=13805"
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = Some <fun:main@437-1018> }
23:18:51 #3 [Debug] > pwd: C:\home\git\polyglot\lib\spiral
23:18:51 #4 [Debug] > dll_path: C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language 2\artifacts\bin\The Spiral Language 2\release
23:18:51 #5 [Debug] runWithTimeoutAsync / timeout: 500
23:18:51 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0
23:18:52 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / result.Length:
23:18:52 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: 13805 / retry: 0
23:18:52 #9 [Debug] > Server bound to: http://localhost:13805
23:18:52 #10 [Debug] executeAsync / options: { Command = "pwsh -c "../../scripts/invoke-dib.ps1 physics.dib""
WorkingDirectory = None
CancellationToken = Some System.Threading.CancellationToken
OnLine = None }
23:18:55 #11 [Debug] >
23:18:55 #12 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:18:55 #13 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:18:55 #14 [Debug] > │ # physics │
23:18:55 #15 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:18:55 #16 [Debug] >
23:18:55 #17 [Debug] > ── fsharp ──────────────────────────────────────────────────────────────────────
23:18:55 #18 [Debug] > #!import ../nbs/Plotting.dib
23:18:55 #19 [Debug] >
23:18:55 #20 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:18:55 #21 [Debug] > #r
23:18:55 #22 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A
23:18:55 #23 [Debug] > spNetCore.Html.Abstractions.dll"
23:18:55 #24 [Debug] > #r
23:18:55 #25 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
23:18:55 #26 [Debug] > otNet.Interactive.dll"
23:18:55 #27 [Debug] > #r
23:18:55 #28 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
23:18:55 #29 [Debug] > otNet.Interactive.FSharp.dll"
23:18:55 #30 [Debug] > #r
23:18:55 #31 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
23:18:55 #32 [Debug] > otNet.Interactive.Formatting.dll"
23:18:55 #33 [Debug] > open System
23:18:55 #34 [Debug] > open System.IO
23:18:55 #35 [Debug] > open System.Text
23:18:55 #36 [Debug] > open Microsoft.DotNet.Interactive.Formatting
23:18:58 #37 [Debug] >
23:18:58 #38 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:18:58 #39 [Debug] > #r
23:18:58 #40 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
23:18:58 #41 [Debug] > otNet.Interactive.FSharp.dll"
23:18:58 #42 [Debug] > open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers
23:18:58 #43 [Debug] > #r
23:18:58 #44 [Debug] > "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D
23:18:58 #45 [Debug] > otNet.Interactive.dll"
23:18:58 #46 [Debug] > open type Microsoft.DotNet.Interactive.Kernel
23:18:59 #47 [Debug] >
23:18:59 #48 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:18:59 #49 [Debug] > //// test
23:18:59 #50 [Debug] >
23:18:59 #51 [Debug] > Formatter.ListExpansionLimit <- 100
23:18:59 #52 [Debug] >
23:18:59 #53 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:18:59 #54 [Debug] > #r
23:18:59 #55 [Debug] > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan
23:18:59 #56 [Debug] > dard2.1/FSharp.Control.AsyncSeq.dll"
23:18:59 #57 [Debug] > #r
23:18:59 #58 [Debug] > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6.
23:18:59 #59 [Debug] > 0/System.Reactive.dll"
23:18:59 #60 [Debug] > #r
23:18:59 #61 [Debug] > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib
23:18:59 #62 [Debug] > netstandard2.0/System.Reactive.Linq.dll"
23:18:59 #63 [Debug] > #r
23:18:59 #64 [Debug] > @"../../../../../../../.nuget/packages/argu/6.1.1/lib/netstandard2.0/Argu.dll"
23:18:59 #65 [Debug] > #r
23:18:59 #66 [Debug] > @"../../../../../../../.nuget/packages/system.commandline/2.0.0-beta4.22272.1/li
23:18:59 #67 [Debug] > b/net6.0/System.CommandLine.dll"
23:18:59 #68 [Debug] > #r
23:18:59 #69 [Debug] > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha
23:18:59 #70 [Debug] > rp.Json.dll"
23:18:59 #71 [Debug] >
23:18:59 #72 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:18:59 #73 [Debug] > #if !INTERACTIVE
23:18:59 #74 [Debug] > namespace Polyglot
23:18:59 #75 [Debug] > #endif
23:18:59 #76 [Debug] >
23:18:59 #77 [Debug] > module Common =
23:18:59 #78 [Debug] >
23:18:59 #79 [Debug] > let nl = System.Environment.NewLine
23:18:59 #80 [Debug] > let q = @""""
23:18:59 #81 [Debug] >
23:18:59 #82 [Debug] > let inline cons head tail = head :: tail
23:18:59 #83 [Debug] >
23:18:59 #84 [Debug] > module String =
23:18:59 #85 [Debug] > let inline contains (value : string) (input : string) =
23:18:59 #86 [Debug] > input.Contains value
23:18:59 #87 [Debug] >
23:18:59 #88 [Debug] > let inline endsWith (value : string) (input : string) =
23:18:59 #89 [Debug] > input.EndsWith value
23:18:59 #90 [Debug] >
23:18:59 #91 [Debug] > let inline padLeft totalWidth paddingChar (input : string) =
23:18:59 #92 [Debug] > input.PadLeft (totalWidth, paddingChar)
23:18:59 #93 [Debug] >
23:18:59 #94 [Debug] > let inline replace (oldValue : string) (newValue : string) (input :
23:18:59 #95 [Debug] > string) =
23:18:59 #96 [Debug] > input.Replace (oldValue, newValue)
23:18:59 #97 [Debug] >
23:18:59 #98 [Debug] > let inline split separator (input : string) =
23:18:59 #99 [Debug] > input.Split separator
23:18:59 #100 [Debug] >
23:18:59 #101 [Debug] > let inline spli...
23:19:01 #102 [Debug] >
23:19:01 #103 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:01 #104 [Debug] > #if !INTERACTIVE
23:19:01 #105 [Debug] > namespace Polyglot
23:19:01 #106 [Debug] > #endif
23:19:01 #107 [Debug] >
23:19:01 #108 [Debug] > module CommonFSharp =
23:19:01 #109 [Debug] >
23:19:01 #110 [Debug] > open Common
23:19:01 #111 [Debug] >
23:19:01 #112 [Debug] > /// ## getUnionCaseName
23:19:01 #113 [Debug] >
23:19:01 #114 [Debug] > let inline getUnionCaseName<'T> (x: 'T) =
23:19:01 #115 [Debug] > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with
23:19:01 #116 [Debug] > | case, _ -> case.Name
23:19:01 #117 [Debug] >
23:19:01 #118 [Debug] >
23:19:01 #119 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:01 #120 [Debug] > #if !INTERACTIVE
23:19:01 #121 [Debug] > namespace Polyglot
23:19:01 #122 [Debug] > #endif
23:19:01 #123 [Debug] >
23:19:01 #124 [Debug] > module Crypto =
23:19:01 #125 [Debug] >
23:19:01 #126 [Debug] > open Common
23:19:01 #127 [Debug] >
23:19:01 #128 [Debug] > /// ## hashText
23:19:01 #129 [Debug] >
23:19:01 #130 [Debug] > let hashText (input : string) =
23:19:01 #131 [Debug] > use sha256 = System.Security.Cryptography.SHA256.Create ()
23:19:01 #132 [Debug] > input
23:19:01 #133 [Debug] > |> System.Text.Encoding.UTF8.GetBytes
23:19:01 #134 [Debug] > |> sha256.ComputeHash
23:19:01 #135 [Debug] > |> Array.map (fun b -> b.ToString "x2")
23:19:01 #136 [Debug] > |> String.concat ""
23:19:01 #137 [Debug] >
23:19:01 #138 [Debug] >
23:19:01 #139 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:01 #140 [Debug] > #if !INTERACTIVE
23:19:01 #141 [Debug] > namespace Polyglot
23:19:01 #142 [Debug] > #endif
23:19:01 #143 [Debug] >
23:19:01 #144 [Debug] > module Async =
23:19:01 #145 [Debug] >
23:19:01 #146 [Debug] > open Common
23:19:01 #147 [Debug] >
23:19:01 #148 [Debug] > /// ## choice
23:19:01 #149 [Debug] >
23:19:01 #150 [Debug] > let inline choice asyncs = async {
23:19:01 #151 [Debug] > let e = Event<_> ()
23:19:01 #152 [Debug] > use cts = new System.Threading.CancellationTokenSource ()
23:19:01 #153 [Debug] > let fn =
23:19:01 #154 [Debug] > asyncs
23:19:01 #155 [Debug] > |> Seq.map (fun a -> async {
23:19:01 #156 [Debug] > let! x = a
23:19:01 #157 [Debug] > e.Trigger x
23:19:01 #158 [Debug] > })
23:19:01 #159 [Debug] > |> Async.Parallel
23:19:01 #160 [Debug] > |> Async.Ignore
23:19:01 #161 [Debug] > Async.Start (fn, cts.Token)
23:19:01 #162 [Debug] > let! result = Async.AwaitEvent e.Publish
23:19:01 #163 [Debug] > cts.Cancel ()
23:19:01 #164 [Debug] > return result
23:19:01 #165 [Debug] > }
23:19:01 #166 [Debug] >
23:19:01 #167 [Debug] > /// ## map
23:19:01 #168 [Debug] >
23:19:01 #169 [Debug] > let inline map fn a = async {
23:19:01 #170 [Debug] > let! x = a
23:19:01 #171 [Debug] > return fn x
23:19:01 #172 [Debug] > }
23:19:01 #173 [Debug] >
23:19:01 #174 [Debug] > /// ## catch
23:19:01 #175 [Debug] >
23:19:01 #176 [Debug] > let inline catch a =
23:19:01 #177 [Debug] > a
23:19:01 #178 [Debug] > |> Async.Catch
23:19:01 #179 [Debug] > ...
23:19:01 #180 [Debug] >
23:19:01 #181 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:01 #182 [Debug] > #if !INTERACTIVE
23:19:01 #183 [Debug] > namespace Polyglot
23:19:01 #184 [Debug] > #endif
23:19:01 #185 [Debug] >
23:19:01 #186 [Debug] > module AsyncSeq =
23:19:01 #187 [Debug] >
23:19:01 #188 [Debug] > open Common
23:19:01 #189 [Debug] >
23:19:01 #190 [Debug] > /// ## subscribeEvent
23:19:01 #191 [Debug] >
23:19:01 #192 [Debug] > let inline subscribeEvent (event: IEvent<'H, 'A>) map =
23:19:01 #193 [Debug] > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H,
23:19:01 #194 [Debug] > 'A>(event.AddHandler, event.RemoveHandler)
23:19:01 #195 [Debug] > System.Reactive.Linq.Observable.Select (observable, fun event -> map
23:19:01 #196 [Debug] > event.EventArgs)
23:19:01 #197 [Debug] > |> FSharp.Control.AsyncSeq.ofObservableBuffered
23:19:01 #198 [Debug] >
23:19:01 #199 [Debug] > let subscribeToken (token : System.Threading.CancellationToken) =
23:19:01 #200 [Debug] > let tcs = new System.Threading.Tasks.TaskCompletionSource ()
23:19:01 #201 [Debug] > System.Action tcs.SetResult |> token.Register |> ignore
23:19:01 #202 [Debug] > let start = System.DateTime.Now.Ticks
23:19:01 #203 [Debug] > FSharp.Control.AsyncSeq.unfoldAsync
23:19:01 #204 [Debug] > (fun (...
23:19:02 #205 [Debug] >
23:19:02 #206 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:02 #207 [Debug] > #if !INTERACTIVE
23:19:02 #208 [Debug] > namespace Polyglot
23:19:02 #209 [Debug] > #endif
23:19:02 #210 [Debug] >
23:19:02 #211 [Debug] > module Networking =
23:19:02 #212 [Debug] >
23:19:02 #213 [Debug] > open Common
23:19:02 #214 [Debug] >
23:19:02 #215 [Debug] > /// ## testPortOpen
23:19:02 #216 [Debug] >
23:19:02 #217 [Debug] > let inline testPortOpen port = async {
23:19:02 #218 [Debug] > let! ct = Async.CancellationToken
23:19:02 #219 [Debug] > use client = new System.Net.Sockets.TcpClient ()
23:19:02 #220 [Debug] > try
23:19:02 #221 [Debug] > do! client.ConnectAsync ("127.0.0.1", port, ct) |>
23:19:02 #222 [Debug] > Async.awaitValueTaskUnit
23:19:02 #223 [Debug] > return true
23:19:02 #224 [Debug] > with ex ->
23:19:02 #225 [Debug] > trace Verbose (fun () -> $"testPortOpen / ex: {ex |>
23:19:02 #226 [Debug] > printException}") getLocals
23:19:02 #227 [Debug] > return false
23:19:02 #228 [Debug] > }
23:19:02 #229 [Debug] >
23:19:02 #230 [Debug] > let inline testPortOpenTimeout timeout port = async {
23:19:02 #231 [Debug] > let! result =
23:19:02 #232 [Debug] > testPortOpen port
23:19:02 #233 [Debug] > |> Async.runWithTimeoutAsync timeout
23:19:02 #234 [Debug] > return
23:19:02 #235 [Debug] > match result with
23:19:02 #236 [Debug] > | None -> false
23:19:02 #237 [Debug] > ...
23:19:02 #238 [Debug] >
23:19:02 #239 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:02 #240 [Debug] > #if !INTERACTIVE
23:19:02 #241 [Debug] > namespace Polyglot
23:19:02 #242 [Debug] > #endif
23:19:02 #243 [Debug] >
23:19:02 #244 [Debug] > module Runtime =
23:19:02 #245 [Debug] >
23:19:02 #246 [Debug] > open Common
23:19:02 #247 [Debug] >
23:19:02 #248 [Debug] > /// ## isWindows
23:19:02 #249 [Debug] >
23:19:02 #250 [Debug] > let isWindows =
23:19:02 #251 [Debug] > fun () ->
23:19:02 #252 [Debug] > System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform
23:19:02 #253 [Debug] > System.Runtime.InteropServices.OSPlatform.Windows
23:19:02 #254 [Debug] > |> memoize
23:19:02 #255 [Debug] >
23:19:02 #256 [Debug] > /// ## getExecutableSuffix
23:19:02 #257 [Debug] >
23:19:02 #258 [Debug] > let inline getExecutableSuffix () =
23:19:02 #259 [Debug] > if isWindows ()
23:19:02 #260 [Debug] > then ".exe"
23:19:02 #261 [Debug] > else ""
23:19:02 #262 [Debug] >
23:19:02 #263 [Debug] > /// ## splitCommand
23:19:02 #264 [Debug] >
23:19:02 #265 [Debug] > type private CommandParseStep =
23:19:02 #266 [Debug] > | Start
23:19:02 #267 [Debug] > | Path of quoted: bool
23:19:02 #268 [Debug] > | Arguments
23:19:02 #269 [Debug] >
23:19:02 #270 [Debug] > let splitCommand (command: string) =
23:19:02 #271 [Debug] > let rec loop (path, args) chars step =
23:19:02 #272 [Debug] > match chars, step with
23:19:02 #273 [Debug] > | ('"' | '\'') :: tail, _ when path = "" -> loop (pat...
23:19:03 #274 [Debug] >
23:19:03 #275 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:03 #276 [Debug] > #if !INTERACTIVE
23:19:03 #277 [Debug] > namespace Polyglot
23:19:03 #278 [Debug] > #endif
23:19:03 #279 [Debug] >
23:19:03 #280 [Debug] > module FileSystem =
23:19:03 #281 [Debug] >
23:19:03 #282 [Debug] > open Common
23:19:03 #283 [Debug] >
23:19:03 #284 [Debug] > /// ## Operators
23:19:03 #285 [Debug] >
23:19:03 #286 [Debug] > module Operators =
23:19:03 #287 [Debug] > let inline (</>) a b =
23:19:03 #288 [Debug] > System.IO.Path.Combine (a, b)
23:19:03 #289 [Debug] >
23:19:03 #290 [Debug] > open Operators
23:19:03 #291 [Debug] >
23:19:03 #292 [Debug] > /// ## createTempDirectoryName
23:19:03 #293 [Debug] >
23:19:03 #294 [Debug] > let inline createTempDirectoryName () =
23:19:03 #295 [Debug] > let root = System.Reflection.Assembly.GetEntryAssembly().GetName().Name
23:19:03 #296 [Debug] >
23:19:03 #297 [Debug] > System.IO.Path.GetTempPath ()
23:19:03 #298 [Debug] > </> $"!{root}"
23:19:03 #299 [Debug] > </> string (newGuidFromDateTime System.DateTime.Now)
23:19:03 #300 [Debug] >
23:19:03 #301 [Debug] > /// ## createTempDirectory
23:19:03 #302 [Debug] >
23:19:03 #303 [Debug] > let inline createTempDirectory () =
23:19:03 #304 [Debug] > let tempFolder = createTempDirectoryName ()
23:19:03 #305 [Debug] > let result = System.IO.Directory.CreateDirectory tempFolder
23:19:03 #306 [Debug] >
23:19:03 #307 [Debug] > let getLocals () =
23:19:03 #308 [Debug] > $"tempFolder:...
23:19:06 #309 [Debug] >
23:19:06 #310 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:06 #311 [Debug] > open Common
23:19:06 #312 [Debug] > open FileSystem.Operators
23:19:06 #313 [Debug] >
23:19:06 #314 [Debug] > ── fsharp - import ─────────────────────────────────────────────────────────────
23:19:06 #315 [Debug] > let tmpSpiralPath = Path.GetTempPath () </> "!dotnet-interactive-spiral"
23:19:06 #316 [Debug] > let linePlotsDataPath = tmpSpiralPath </> "line-plots-data"
23:19:06 #317 [Debug] > let linePlotsSvgPath = tmpSpiralPath </> "line-plots-svg"
23:19:06 #318 [Debug] >
23:19:06 #319 [Debug] > [[ tmpSpiralPath; linePlotsDataPath; linePlotsSvgPath ]]
23:19:06 #320 [Debug] > |> List.iter (fun dir -> if Directory.Exists dir |> not then
23:19:06 #321 [Debug] > Directory.CreateDirectory dir |> ignore)
23:19:06 #322 [Debug] >
23:19:06 #323 [Debug] > Formatter.Register<struct (string * string * string * struct (string * float
23:19:06 #324 [Debug] > array * float array) array)> (
23:19:06 #325 [Debug] > (fun struct (caption, x_desc, y_desc, ys) ->
23:19:06 #326 [Debug] > let json = (caption, x_desc, y_desc, ys) |> FSharp.Json.Json.serialize
23:19:06 #327 [Debug] > async {
23:19:06 #328 [Debug] > let hashHex = json |> Crypto.hashText
23:19:06 #329 [Debug] > let svgPath = linePlotsSvgPath </> $"{hashHex}.svg"
23:19:06 #330 [Debug] >
23:19:06 #331 [Debug] > if System.IO.File.Exi...
23:19:06 #332 [Debug] >
23:19:06 #333 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:06 #334 [Debug] > // // test
23:19:06 #335 [Debug] >
23:19:06 #336 [Debug] > open testing
23:19:08 #337 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-0759-5909-563354c312fa\main.spi
23:19:09 #338 [Debug] >
23:19:09 #339 [Debug] > ╭─[ 2.58s - stdout ]───────────────────────────────────────────────────────────╮
23:19:09 #340 [Debug] > │ () │
23:19:09 #341 [Debug] > │ │
23:19:09 #342 [Debug] > │ │
23:19:09 #343 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:09 #344 [Debug] >
23:19:09 #345 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:09 #346 [Debug] > inl (/@) x = listm'.(/@) x
23:19:09 #347 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-0952-5247-5611f57b090a\main.spi
23:19:09 #348 [Debug] >
23:19:09 #349 [Debug] > ╭─[ 180.17ms - stdout ]────────────────────────────────────────────────────────╮
23:19:09 #350 [Debug] > │ () │
23:19:09 #351 [Debug] > │ │
23:19:09 #352 [Debug] > │ │
23:19:09 #353 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:09 #354 [Debug] >
23:19:09 #355 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:09 #356 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:09 #357 [Debug] > │ ## init_series │
23:19:09 #358 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:09 #359 [Debug] >
23:19:09 #360 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:09 #361 [Debug] > // // test
23:19:09 #362 [Debug] >
23:19:09 #363 [Debug] > inl x : a _ f64 = am'.init_series -3 3 0.01
23:19:09 #364 [Debug] > inl y = x |> am.map math.square
23:19:09 #365 [Debug] > "square", "x", "y", ;[[ "square", x, y ]]
23:19:09 #366 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-0970-7042-71a5d8569e64\main.spi
23:19:10 #367 [Debug] >
23:19:10 #368 [Debug] > ╭─[ 398.70ms - return value ]──────────────────────────────────────────────────╮
23:19:10 #369 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:10 #370 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:10 #371 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:10 #372 [Debug] > │ stroke="none"/> │
23:19:10 #373 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:10 #374 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #375 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #376 [Debug] > │ square │
23:19:10 #377 [Debug] > │ </text> │
23:19:10 #378 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
23:19:10 #379 [Debug] > │ y2="75"/> │
23:19:10 #380 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:10 #381 [Debug] > │ y2="75"/> │
23:19:10 #382 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
23:19:10 #383 [Debug] > │ y2="75"/> │
23:19:10 #384 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
23:19:10 #385 [Debug] > │ y2="75"/> │
23:19:10 #386 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
23:19:10 #387 [Debug] > │ y2="75"/> │
23:19:10 #388 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
23:19:10 #389 [Debug] > │ x2="103" y2="75"/> │
23:19:10 #390 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
23:19:10 #391 [Debug] > │ x2="111" y2="75"/> │
23:19:10 #392 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:10 #393 [Debug] > │ x2="119" y2="75"/> │
23:19:10 #394 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
23:19:10 #395 [Debug] > │ x2="128" y2="75"/> │
23:19:10 #396 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
23:19:10 #397 [Debug] > │ x2="136" y2="75"/> │
23:19:10 #398 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
23:19:10 #399 [Debug] > │ x2="144" y2="75"/> │
23:19:10 #400 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
23:19:10 #401 [Debug] > │ x2="153" y2="75"/> │
23:19:10 #402 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
23:19:10 #403 [Debug] > │ x2="161" y2="75"/> │
23:19:10 #404 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:10 #405 [Debug] > │ x2="169" y2="75"/> │
23:19:10 #406 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424" │
23:19:10 #407 [Debug] > │ x2="178" y2="75"/> │
23:19:10 #408 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424" │
23:19:10 #409 [Debug] > │ x2="186" y2="75"/> │
23:19:10 #410 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
23:19:10 #411 [Debug] > │ x2="194" y2="75"/> │
23:19:10 #412 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424" │
23:19:10 #413 [Debug] > │ x2="203" y2="75"/> │
23:19:10 #414 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424" │
23:19:10 #415 [Debug] > │ x2="211" y2="75"/> │
23:19:10 #416 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:10 #417 [Debug] > │ x2="219" y2="75"/> │
23:19:10 #418 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424" │
23:19:10 #419 [Debug] > │ x2="228" y2="75"/> │
23:19:10 #420 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424" │
23:19:10 #421 [Debug] > │ x2="236" y2="75"/> │
23:19:10 #422 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424" │
23:19:10 #423 [Debug] > │ x2="244" y2="75"/> │
23:19:10 #424 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424" │
23:19:10 #425 [Debug] > │ x2="252" y2="75"/> │
23:19:10 #426 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:10 #427 [Debug] > │ x2="261" y2="75"/> │
23:19:10 #428 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:10 #429 [Debug] > │ x2="269" y2="75"/> │
23:19:10 #430 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424" │
23:19:10 #431 [Debug] > │ x2="277" y2="75"/> │
23:19:10 #432 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424" │
23:19:10 #433 [Debug] > │ x2="286" y2="75"/> │
23:19:10 #434 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424" │
23:19:10 #435 [Debug] > │ x2="294" y2="75"/> │
23:19:10 #436 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424" │
23:19:10 #437 [Debug] > │ x2="302" y2="75"/> │
23:19:10 #438 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424" │
23:19:10 #439 [Debug] > │ x2="311" y2="75"/> │
23:19:10 #440 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:10 #441 [Debug] > │ x2="319" y2="75"/> │
23:19:10 #442 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424" │
23:19:10 #443 [Debug] > │ x2="327" y2="75"/> │
23:19:10 #444 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424" │
23:19:10 #445 [Debug] > │ x2="336" y2="75"/> │
23:19:10 #446 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424" │
23:19:10 #447 [Debug] > │ x2="344" y2="75"/> │
23:19:10 #448 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424" │
23:19:10 #449 [Debug] > │ x2="352" y2="75"/> │
23:19:10 #450 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424" │
23:19:10 #451 [Debug] > │ x2="361" y2="75"/> │
23:19:10 #452 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:10 #453 [Debug] > │ x2="369" y2="75"/> │
23:19:10 #454 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424" │
23:19:10 #455 [Debug] > │ x2="377" y2="75"/> │
23:19:10 #456 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424" │
23:19:10 #457 [Debug] > │ x2="386" y2="75"/> │
23:19:10 #458 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424" │
23:19:10 #459 [Debug] > │ x2="394" y2="75"/> │
23:19:10 #460 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424" │
23:19:10 #461 [Debug] > │ x2="402" y2="75"/> │
23:19:10 #462 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424" │
23:19:10 #463 [Debug] > │ x2="410" y2="75"/> │
23:19:10 #464 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:10 #465 [Debug] > │ x2="419" y2="75"/> │
23:19:10 #466 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424" │
23:19:10 #467 [Debug] > │ x2="427" y2="75"/> │
23:19:10 #468 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424" │
23:19:10 #469 [Debug] > │ x2="435" y2="75"/> │
23:19:10 #470 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424" │
23:19:10 #471 [Debug] > │ x2="444" y2="75"/> │
23:19:10 #472 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424" │
23:19:10 #473 [Debug] > │ x2="452" y2="75"/> │
23:19:10 #474 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424" │
23:19:10 #475 [Debug] > │ x2="460" y2="75"/> │
23:19:10 #476 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:10 #477 [Debug] > │ x2="469" y2="75"/> │
23:19:10 #478 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424" │
23:19:10 #479 [Debug] > │ x2="477" y2="75"/> │
23:19:10 #480 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424" │
23:19:10 #481 [Debug] > │ x2="485" y2="75"/> │
23:19:10 #482 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424" │
23:19:10 #483 [Debug] > │ x2="494" y2="75"/> │
23:19:10 #484 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424" │
23:19:10 #485 [Debug] > │ x2="502" y2="75"/> │
23:19:10 #486 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424" │
23:19:10 #487 [Debug] > │ x2="510" y2="75"/> │
23:19:10 #488 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:10 #489 [Debug] > │ x2="519" y2="75"/> │
23:19:10 #490 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424" │
23:19:10 #491 [Debug] > │ x2="527" y2="75"/> │
23:19:10 #492 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424" │
23:19:10 #493 [Debug] > │ x2="535" y2="75"/> │
23:19:10 #494 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424" │
23:19:10 #495 [Debug] > │ x2="544" y2="75"/> │
23:19:10 #496 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424" │
23:19:10 #497 [Debug] > │ x2="552" y2="75"/> │
23:19:10 #498 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424" │
23:19:10 #499 [Debug] > │ x2="560" y2="75"/> │
23:19:10 #500 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:10 #501 [Debug] > │ x2="569" y2="75"/> │
23:19:10 #502 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424" │
23:19:10 #503 [Debug] > │ x2="577" y2="75"/> │
23:19:10 #504 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:10 #505 [Debug] > │ x2="584" y2="415"/> │
23:19:10 #506 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="396" │
23:19:10 #507 [Debug] > │ x2="584" y2="396"/> │
23:19:10 #508 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="378" │
23:19:10 #509 [Debug] > │ x2="584" y2="378"/> │
23:19:10 #510 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="360" │
23:19:10 #511 [Debug] > │ x2="584" y2="360"/> │
23:19:10 #512 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="341" │
23:19:10 #513 [Debug] > │ x2="584" y2="341"/> │
23:19:10 #514 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="323" │
23:19:10 #515 [Debug] > │ x2="584" y2="323"/> │
23:19:10 #516 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="305" │
23:19:10 #517 [Debug] > │ x2="584" y2="305"/> │
23:19:10 #518 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="287" │
23:19:10 #519 [Debug] > │ x2="584" y2="287"/> │
23:19:10 #520 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="268" │
23:19:10 #521 [Debug] > │ x2="584" y2="268"/> │
23:19:10 #522 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:10 #523 [Debug] > │ x2="584" y2="250"/> │
23:19:10 #524 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="232" │
23:19:10 #525 [Debug] > │ x2="584" y2="232"/> │
23:19:10 #526 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="213" │
23:19:10 #527 [Debug] > │ x2="584" y2="213"/> │
23:19:10 #528 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="195" │
23:19:10 #529 [Debug] > │ x2="584" y2="195"/> │
23:19:10 #530 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="177" │
23:19:10 #531 [Debug] > │ x2="584" y2="177"/> │
23:19:10 #532 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="159" │
23:19:10 #533 [Debug] > │ x2="584" y2="159"/> │
23:19:10 #534 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="140" │
23:19:10 #535 [Debug] > │ x2="584" y2="140"/> │
23:19:10 #536 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="122" │
23:19:10 #537 [Debug] > │ x2="584" y2="122"/> │
23:19:10 #538 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="104" │
23:19:10 #539 [Debug] > │ x2="584" y2="104"/> │
23:19:10 #540 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:10 #541 [Debug] > │ y2="85"/> │
23:19:10 #542 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:10 #543 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #544 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #545 [Debug] > │ x │
23:19:10 #546 [Debug] > │ </text> │
23:19:10 #547 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:10 #548 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #549 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:10 #550 [Debug] > │ y │
23:19:10 #551 [Debug] > │ </text> │
23:19:10 #552 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:10 #553 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #554 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #555 [Debug] > │ x │
23:19:10 #556 [Debug] > │ </text> │
23:19:10 #557 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:10 #558 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #559 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:10 #560 [Debug] > │ y │
23:19:10 #561 [Debug] > │ </text> │
23:19:10 #562 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:10 #563 [Debug] > │ y2="75"/> │
23:19:10 #564 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="111" y1="424" │
23:19:10 #565 [Debug] > │ x2="111" y2="75"/> │
23:19:10 #566 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="153" y1="424" │
23:19:10 #567 [Debug] > │ x2="153" y2="75"/> │
23:19:10 #568 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="194" y1="424" │
23:19:10 #569 [Debug] > │ x2="194" y2="75"/> │
23:19:10 #570 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424" │
23:19:10 #571 [Debug] > │ x2="236" y2="75"/> │
23:19:10 #572 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="277" y1="424" │
23:19:10 #573 [Debug] > │ x2="277" y2="75"/> │
23:19:10 #574 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:10 #575 [Debug] > │ x2="319" y2="75"/> │
23:19:10 #576 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="361" y1="424" │
23:19:10 #577 [Debug] > │ x2="361" y2="75"/> │
23:19:10 #578 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424" │
23:19:10 #579 [Debug] > │ x2="402" y2="75"/> │
23:19:10 #580 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="444" y1="424" │
23:19:10 #581 [Debug] > │ x2="444" y2="75"/> │
23:19:10 #582 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="485" y1="424" │
23:19:10 #583 [Debug] > │ x2="485" y2="75"/> │
23:19:10 #584 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="527" y1="424" │
23:19:10 #585 [Debug] > │ x2="527" y2="75"/> │
23:19:10 #586 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:10 #587 [Debug] > │ x2="569" y2="75"/> │
23:19:10 #588 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:10 #589 [Debug] > │ x2="584" y2="415"/> │
23:19:10 #590 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="378" │
23:19:10 #591 [Debug] > │ x2="584" y2="378"/> │
23:19:10 #592 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="341" │
23:19:10 #593 [Debug] > │ x2="584" y2="341"/> │
23:19:10 #594 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="305" │
23:19:10 #595 [Debug] > │ x2="584" y2="305"/> │
23:19:10 #596 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="268" │
23:19:10 #597 [Debug] > │ x2="584" y2="268"/> │
23:19:10 #598 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="232" │
23:19:10 #599 [Debug] > │ x2="584" y2="232"/> │
23:19:10 #600 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="195" │
23:19:10 #601 [Debug] > │ x2="584" y2="195"/> │
23:19:10 #602 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="159" │
23:19:10 #603 [Debug] > │ x2="584" y2="159"/> │
23:19:10 #604 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="122" │
23:19:10 #605 [Debug] > │ x2="584" y2="122"/> │
23:19:10 #606 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:10 #607 [Debug] > │ y2="85"/> │
23:19:10 #608 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #609 [Debug] > │ points="55,74 584,74 "/> │
23:19:10 #610 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #611 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #612 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #613 [Debug] > │ -3.0 │
23:19:10 #614 [Debug] > │ </text> │
23:19:10 #615 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #616 [Debug] > │ points="69,69 69,74 "/> │
23:19:10 #617 [Debug] > │ <text x="111" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #618 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #619 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #620 [Debug] > │ -2.5 │
23:19:10 #621 [Debug] > │ </text> │
23:19:10 #622 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #623 [Debug] > │ points="111,69 111,74 "/> │
23:19:10 #624 [Debug] > │ <text x="153" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #625 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #626 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #627 [Debug] > │ -2.0 │
23:19:10 #628 [Debug] > │ </text> │
23:19:10 #629 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #630 [Debug] > │ points="153,69 153,74 "/> │
23:19:10 #631 [Debug] > │ <text x="194" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #632 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #633 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #634 [Debug] > │ -1.5 │
23:19:10 #635 [Debug] > │ </text> │
23:19:10 #636 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #637 [Debug] > │ points="194,69 194,74 "/> │
23:19:10 #638 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #639 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #640 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #641 [Debug] > │ -1.0 │
23:19:10 #642 [Debug] > │ </text> │
23:19:10 #643 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #644 [Debug] > │ points="236,69 236,74 "/> │
23:19:10 #645 [Debug] > │ <text x="277" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #646 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #647 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #648 [Debug] > │ -0.5 │
23:19:10 #649 [Debug] > │ </text> │
23:19:10 #650 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #651 [Debug] > │ points="277,69 277,74 "/> │
23:19:10 #652 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #653 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #654 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #655 [Debug] > │ 0.0 │
23:19:10 #656 [Debug] > │ </text> │
23:19:10 #657 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #658 [Debug] > │ points="319,69 319,74 "/> │
23:19:10 #659 [Debug] > │ <text x="361" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #660 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #661 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #662 [Debug] > │ 0.5 │
23:19:10 #663 [Debug] > │ </text> │
23:19:10 #664 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #665 [Debug] > │ points="361,69 361,74 "/> │
23:19:10 #666 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #667 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #668 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #669 [Debug] > │ 1.0 │
23:19:10 #670 [Debug] > │ </text> │
23:19:10 #671 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #672 [Debug] > │ points="402,69 402,74 "/> │
23:19:10 #673 [Debug] > │ <text x="444" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #674 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #675 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #676 [Debug] > │ 1.5 │
23:19:10 #677 [Debug] > │ </text> │
23:19:10 #678 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #679 [Debug] > │ points="444,69 444,74 "/> │
23:19:10 #680 [Debug] > │ <text x="485" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #681 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #682 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #683 [Debug] > │ 2.0 │
23:19:10 #684 [Debug] > │ </text> │
23:19:10 #685 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #686 [Debug] > │ points="485,69 485,74 "/> │
23:19:10 #687 [Debug] > │ <text x="527" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #688 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #689 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #690 [Debug] > │ 2.5 │
23:19:10 #691 [Debug] > │ </text> │
23:19:10 #692 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #693 [Debug] > │ points="527,69 527,74 "/> │
23:19:10 #694 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #695 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #696 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #697 [Debug] > │ 3.0 │
23:19:10 #698 [Debug] > │ </text> │
23:19:10 #699 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #700 [Debug] > │ points="569,69 569,74 "/> │
23:19:10 #701 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #702 [Debug] > │ points="54,75 54,424 "/> │
23:19:10 #703 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #704 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #705 [Debug] > │ 0.0 │
23:19:10 #706 [Debug] > │ </text> │
23:19:10 #707 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #708 [Debug] > │ points="49,415 54,415 "/> │
23:19:10 #709 [Debug] > │ <text x="45" y="378" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #710 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #711 [Debug] > │ 1.0 │
23:19:10 #712 [Debug] > │ </text> │
23:19:10 #713 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #714 [Debug] > │ points="49,378 54,378 "/> │
23:19:10 #715 [Debug] > │ <text x="45" y="341" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #716 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #717 [Debug] > │ 2.0 │
23:19:10 #718 [Debug] > │ </text> │
23:19:10 #719 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #720 [Debug] > │ points="49,341 54,341 "/> │
23:19:10 #721 [Debug] > │ <text x="45" y="305" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #722 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #723 [Debug] > │ 3.0 │
23:19:10 #724 [Debug] > │ </text> │
23:19:10 #725 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #726 [Debug] > │ points="49,305 54,305 "/> │
23:19:10 #727 [Debug] > │ <text x="45" y="268" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #728 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #729 [Debug] > │ 4.0 │
23:19:10 #730 [Debug] > │ </text> │
23:19:10 #731 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #732 [Debug] > │ points="49,268 54,268 "/> │
23:19:10 #733 [Debug] > │ <text x="45" y="232" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #734 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #735 [Debug] > │ 5.0 │
23:19:10 #736 [Debug] > │ </text> │
23:19:10 #737 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #738 [Debug] > │ points="49,232 54,232 "/> │
23:19:10 #739 [Debug] > │ <text x="45" y="195" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #740 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #741 [Debug] > │ 6.0 │
23:19:10 #742 [Debug] > │ </text> │
23:19:10 #743 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #744 [Debug] > │ points="49,195 54,195 "/> │
23:19:10 #745 [Debug] > │ <text x="45" y="159" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #746 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #747 [Debug] > │ 7.0 │
23:19:10 #748 [Debug] > │ </text> │
23:19:10 #749 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #750 [Debug] > │ points="49,159 54,159 "/> │
23:19:10 #751 [Debug] > │ <text x="45" y="122" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #752 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #753 [Debug] > │ 8.0 │
23:19:10 #754 [Debug] > │ </text> │
23:19:10 #755 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #756 [Debug] > │ points="49,122 54,122 "/> │
23:19:10 #757 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #758 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #759 [Debug] > │ 9.0 │
23:19:10 #760 [Debug] > │ </text> │
23:19:10 #761 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #762 [Debug] > │ points="49,85 54,85 "/> │
23:19:10 #763 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #764 [Debug] > │ points="55,425 584,425 "/> │
23:19:10 #765 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #766 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #767 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #768 [Debug] > │ -3.0 │
23:19:10 #769 [Debug] > │ </text> │
23:19:10 #770 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #771 [Debug] > │ points="69,425 69,430 "/> │
23:19:10 #772 [Debug] > │ <text x="111" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #773 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #774 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #775 [Debug] > │ -2.5 │
23:19:10 #776 [Debug] > │ </text> │
23:19:10 #777 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #778 [Debug] > │ points="111,425 111,430 "/> │
23:19:10 #779 [Debug] > │ <text x="153" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #780 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #781 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #782 [Debug] > │ -2.0 │
23:19:10 #783 [Debug] > │ </text> │
23:19:10 #784 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #785 [Debug] > │ points="153,425 153,430 "/> │
23:19:10 #786 [Debug] > │ <text x="194" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #787 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #788 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #789 [Debug] > │ -1.5 │
23:19:10 #790 [Debug] > │ </text> │
23:19:10 #791 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #792 [Debug] > │ points="194,425 194,430 "/> │
23:19:10 #793 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #794 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #795 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #796 [Debug] > │ -1.0 │
23:19:10 #797 [Debug] > │ </text> │
23:19:10 #798 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #799 [Debug] > │ points="236,425 236,430 "/> │
23:19:10 #800 [Debug] > │ <text x="277" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #801 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #802 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #803 [Debug] > │ -0.5 │
23:19:10 #804 [Debug] > │ </text> │
23:19:10 #805 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #806 [Debug] > │ points="277,425 277,430 "/> │
23:19:10 #807 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #808 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #809 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #810 [Debug] > │ 0.0 │
23:19:10 #811 [Debug] > │ </text> │
23:19:10 #812 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #813 [Debug] > │ points="319,425 319,430 "/> │
23:19:10 #814 [Debug] > │ <text x="361" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #815 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #816 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #817 [Debug] > │ 0.5 │
23:19:10 #818 [Debug] > │ </text> │
23:19:10 #819 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #820 [Debug] > │ points="361,425 361,430 "/> │
23:19:10 #821 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #822 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #823 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #824 [Debug] > │ 1.0 │
23:19:10 #825 [Debug] > │ </text> │
23:19:10 #826 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #827 [Debug] > │ points="402,425 402,430 "/> │
23:19:10 #828 [Debug] > │ <text x="444" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #829 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #830 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #831 [Debug] > │ 1.5 │
23:19:10 #832 [Debug] > │ </text> │
23:19:10 #833 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #834 [Debug] > │ points="444,425 444,430 "/> │
23:19:10 #835 [Debug] > │ <text x="485" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #836 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #837 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #838 [Debug] > │ 2.0 │
23:19:10 #839 [Debug] > │ </text> │
23:19:10 #840 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #841 [Debug] > │ points="485,425 485,430 "/> │
23:19:10 #842 [Debug] > │ <text x="527" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #843 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #844 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #845 [Debug] > │ 2.5 │
23:19:10 #846 [Debug] > │ </text> │
23:19:10 #847 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #848 [Debug] > │ points="527,425 527,430 "/> │
23:19:10 #849 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #850 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #851 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #852 [Debug] > │ 3.0 │
23:19:10 #853 [Debug] > │ </text> │
23:19:10 #854 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #855 [Debug] > │ points="569,425 569,430 "/> │
23:19:10 #856 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #857 [Debug] > │ points="585,75 585,424 "/> │
23:19:10 #858 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start" │
23:19:10 #859 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #860 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #861 [Debug] > │ 0.0 │
23:19:10 #862 [Debug] > │ </text> │
23:19:10 #863 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #864 [Debug] > │ points="585,415 590,415 "/> │
23:19:10 #865 [Debug] > │ <text x="595" y="378" dy="0.5ex" text-anchor="start" │
23:19:10 #866 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #867 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #868 [Debug] > │ 1.0 │
23:19:10 #869 [Debug] > │ </text> │
23:19:10 #870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #871 [Debug] > │ points="585,378 590,378 "/> │
23:19:10 #872 [Debug] > │ <text x="595" y="341" dy="0.5ex" text-anchor="start" │
23:19:10 #873 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #874 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #875 [Debug] > │ 2.0 │
23:19:10 #876 [Debug] > │ </text> │
23:19:10 #877 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #878 [Debug] > │ points="585,341 590,341 "/> │
23:19:10 #879 [Debug] > │ <text x="595" y="305" dy="0.5ex" text-anchor="start" │
23:19:10 #880 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #881 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #882 [Debug] > │ 3.0 │
23:19:10 #883 [Debug] > │ </text> │
23:19:10 #884 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #885 [Debug] > │ points="585,305 590,305 "/> │
23:19:10 #886 [Debug] > │ <text x="595" y="268" dy="0.5ex" text-anchor="start" │
23:19:10 #887 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #888 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #889 [Debug] > │ 4.0 │
23:19:10 #890 [Debug] > │ </text> │
23:19:10 #891 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #892 [Debug] > │ points="585,268 590,268 "/> │
23:19:10 #893 [Debug] > │ <text x="595" y="232" dy="0.5ex" text-anchor="start" │
23:19:10 #894 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #895 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #896 [Debug] > │ 5.0 │
23:19:10 #897 [Debug] > │ </text> │
23:19:10 #898 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #899 [Debug] > │ points="585,232 590,232 "/> │
23:19:10 #900 [Debug] > │ <text x="595" y="195" dy="0.5ex" text-anchor="start" │
23:19:10 #901 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #902 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #903 [Debug] > │ 6.0 │
23:19:10 #904 [Debug] > │ </text> │
23:19:10 #905 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #906 [Debug] > │ points="585,195 590,195 "/> │
23:19:10 #907 [Debug] > │ <text x="595" y="159" dy="0.5ex" text-anchor="start" │
23:19:10 #908 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #909 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #910 [Debug] > │ 7.0 │
23:19:10 #911 [Debug] > │ </text> │
23:19:10 #912 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #913 [Debug] > │ points="585,159 590,159 "/> │
23:19:10 #914 [Debug] > │ <text x="595" y="122" dy="0.5ex" text-anchor="start" │
23:19:10 #915 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #916 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #917 [Debug] > │ 8.0 │
23:19:10 #918 [Debug] > │ </text> │
23:19:10 #919 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #920 [Debug] > │ points="585,122 590,122 "/> │
23:19:10 #921 [Debug] > │ <text x="595" y="85" dy="0.5ex" text-anchor="start" font-family="sans-serif" │
23:19:10 #922 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #923 [Debug] > │ 9.0 │
23:19:10 #924 [Debug] > │ </text> │
23:19:10 #925 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #926 [Debug] > │ points="585,85 590,85 "/> │
23:19:10 #927 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:10 #928 [Debug] > │ points="69,85 70,88 71,90 72,92 73,94 74,96 74,98 75,101 76,103 77,105 │
23:19:10 #929 [Debug] > │ 78,107 79,109 79,111 80,113 81,115 82,117 83,120 84,122 84,124 85,126 86,128 │
23:19:10 #930 [Debug] > │ 87,130 88,132 89,134 89,136 90,138 91,140 92,142 93,144 94,146 94,148 95,150 │
23:19:10 #931 [Debug] > │ 96,152 97,154 98,156 99,158 99,160 100,162 101,164 102,165 103,167 104,169 │
23:19:10 #932 [Debug] > │ 104,171 105,173 106,175 107,177 108,179 109,180 109,182 110,184 111,186 │
23:19:10 #933 [Debug] > │ 112,188 113,190 114,191 114,193 115,195 116,197 117,199 118,200 119,202 │
23:19:10 #934 [Debug] > │ 119,204 120,206 121,207 122,209 123,211 124,213 124,214 125,216 126,218 │
23:19:10 #935 [Debug] > │ 127,219 128,221 129,223 129,224 130,226 131,228 132,229 133,231 134,233 │
23:19:10 #936 [Debug] > │ 134,234 135,236 136,238 137,239 138,241 139,242 139,244 140,246 141,247 │
23:19:10 #937 [Debug] > │ 142,249 143,250 143,252 144,253 145,255 146,256 147,258 148,259 148,261 │
23:19:10 #938 [Debug] > │ 149,262 150,264 151,265 152,267 153,268 153,270 154,271 155,273 156,274 │
23:19:10 #939 [Debug] > │ 157,276 158,277 158,278 159,280 160,281 161,283 162,284 163,285 163,287 │
23:19:10 #940 [Debug] > │ 164,288 165,289 166,291 167,292 168,293 168,295 169,296 170,297 171,299 │
23:19:10 #941 [Debug] > │ 172,300 173,301 173,303 174,304 175,305 176,306 177,308 178,309 178,310 │
23:19:10 #942 [Debug] > │ 179,311 180,313 181,314 182,315 183,316 183,317 184,319 185,320 186,321 │
23:19:10 #943 [Debug] > │ 187,322 188,323 188,324 189,326 190,327 191,328 192,329 193,330 193,331 │
23:19:10 #944 [Debug] > │ 194,332 195,333 196,334 197,336 198,337 198,338 199,339 200,340 201,341 │
23:19:10 #945 [Debug] > │ 202,342 203,343 203,344 204,345 205,346 206,347 207,348 208,349 208,350 │
23:19:10 #946 [Debug] > │ 209,351 210,352 211,353 212,354 213,355 213,356 214,357 215,357 216,358 │
23:19:10 #947 [Debug] > │ 217,359 218,360 218,361 219,362 220,363 221,364 222,365 223,365 223,366 │
23:19:10 #948 [Debug] > │ 224,367 225,368 226,369 227,370 228,370 228,371 229,372 230,373 231,374 │
23:19:10 #949 [Debug] > │ 232,374 232,375 233,376 234,377 235,377 236,378 237,379 237,379 238,380 │
23:19:10 #950 [Debug] > │ 239,381 240,382 241,382 242,383 242,384 243,384 244,385 245,386 246,386 │
23:19:10 #951 [Debug] > │ 247,387 247,388 248,388 249,389 250,389 251,390 252,391 252,391 253,392 │
23:19:10 #952 [Debug] > │ 254,392 255,393 256,393 257,394 257,395 258,395 259,396 260,396 261,397 │
23:19:10 #953 [Debug] > │ 262,397 262,398 263,398 264,399 265,399 266,400 267,400 267,401 268,401 │
23:19:10 #954 [Debug] > │ 269,401 270,402 271,402 272,403 272,403 273,404 274,404 275,404 276,405 │
23:19:10 #955 [Debug] > │ 277,405 277,405 278,406 279,406 280,407 281,407 282,407 282,408 283,408 │
23:19:10 #956 [Debug] > │ 284,408 285,408 286,409 287,409 287,409 288,410 289,410 290,410 291,410 │
23:19:10 #957 [Debug] > │ 292,411 292,411 293,411 294,411 295,412 296,412 297,412 297,412 298,412 │
23:19:10 #958 [Debug] > │ 299,413 300,413 301,413 302,413 302,413 303,413 304,413 305,414 306,414 │
23:19:10 #959 [Debug] > │ 307,414 307,414 308,414 309,414 310,414 311,414 312,414 312,414 313,414 │
23:19:10 #960 [Debug] > │ 314,414 315,415 316,415 317,415 317,415 318,415 319,415 320,415 321,415 │
23:19:10 #961 [Debug] > │ 321,415 322,415 323,415 324,414 325,414 326,414 326,414 327,414 328,414 │
23:19:10 #962 [Debug] > │ 329,414 330,414 331,414 331,414 332,414 333,414 334,413 335,413 336,413 │
23:19:10 #963 [Debug] > │ 336,413 337,413 338,413 339,413 340,412 341,412 341,412 342,412 343,412 │
23:19:10 #964 [Debug] > │ 344,411 345,411 346,411 346,411 347,410 348,410 349,410 350,410 351,409 │
23:19:10 #965 [Debug] > │ 351,409 352,409 353,408 354,408 355,408 356,408 356,407 357,407 358,407 │
23:19:10 #966 [Debug] > │ 359,406 360,406 361,405 361,405 362,405 363,404 364,404 365,404 366,403 │
23:19:10 #967 [Debug] > │ 366,403 367,402 368,402 369,401 370,401 371,401 371,400 372,400 373,399 │
23:19:10 #968 [Debug] > │ 374,399 375,398 376,398 376,397 377,397 378,396 379,396 380,395 381,395 │
23:19:10 #969 [Debug] > │ 381,394 382,393 383,393 384,392 385,392 386,391 386,391 387,390 388,389 │
23:19:10 #970 [Debug] > │ 389,389 390,388 391,388 391,387 392,386 393,386 394,385 395,384 396,384 │
23:19:10 #971 [Debug] > │ 396,383 397,382 398,382 399,381 400,380 401,379 401,379 402,378 403,377 │
23:19:10 #972 [Debug] > │ 404,377 405,376 406,375 406,374 407,374 408,373 409,372 410,371 410,370 │
23:19:10 #973 [Debug] > │ 411,370 412,369 413,368 414,367 415,366 415,365 416,365 417,364 418,363 │
23:19:10 #974 [Debug] > │ 419,362 420,361 420,360 421,359 422,358 423,357 424,357 425,356 425,355 │
23:19:10 #975 [Debug] > │ 426,354 427,353 428,352 429,351 430,350 430,349 431,348 432,347 433,346 │
23:19:10 #976 [Debug] > │ 434,345 435,344 435,343 436,342 437,341 438,340 439,339 440,338 440,337 │
23:19:10 #977 [Debug] > │ 441,336 442,334 443,333 444,332 445,331 445,330 446,329 447,328 448,327 │
23:19:10 #978 [Debug] > │ 449,326 450,324 450,323 451,322 452,321 453,320 454,319 455,317 455,316 │
23:19:10 #979 [Debug] > │ 456,315 457,314 458,313 459,311 460,310 460,309 461,308 462,306 463,305 │
23:19:10 #980 [Debug] > │ 464,304 465,303 465,301 466,300 467,299 468,297 469,296 470,295 470,293 │
23:19:10 #981 [Debug] > │ 471,292 472,291 473,289 474,288 475,287 475,285 476,284 477,283 478,281 │
23:19:10 #982 [Debug] > │ 479,280 480,278 480,277 481,276 482,274 483,273 484,271 485,270 485,268 │
23:19:10 #983 [Debug] > │ 486,267 487,265 488,264 489,262 490,261 490,259 491,258 492,256 493,255 │
23:19:10 #984 [Debug] > │ 494,253 495,252 495,250 496,249 497,247 498,246 499,244 499,242 500,241 │
23:19:10 #985 [Debug] > │ 501,239 502,238 503,236 504,234 504,233 505,231 506,229 507,228 508,226 │
23:19:10 #986 [Debug] > │ 509,224 509,223 510,221 511,219 512,218 513,216 514,214 514,213 515,211 │
23:19:10 #987 [Debug] > │ 516,209 517,207 518,206 519,204 519,202 520,200 521,199 522,197 523,195 │
23:19:10 #988 [Debug] > │ 524,193 524,191 525,190 526,188 527,186 528,184 529,182 529,180 530,179 │
23:19:10 #989 [Debug] > │ 531,177 532,175 533,173 534,171 534,169 535,167 536,165 537,164 538,162 │
23:19:10 #990 [Debug] > │ 539,160 539,158 540,156 541,154 542,152 543,150 544,148 544,146 545,144 │
23:19:10 #991 [Debug] > │ 546,142 547,140 548,138 549,136 549,134 550,132 551,130 552,128 553,126 │
23:19:10 #992 [Debug] > │ 554,124 554,122 555,120 556,117 557,115 558,113 559,111 559,109 560,107 │
23:19:10 #993 [Debug] > │ 561,105 562,103 563,101 564,98 564,96 565,94 566,92 567,90 568,88 569,85 "/> │
23:19:10 #994 [Debug] > │ <rect x="497" y="235" width="83" height="30" opacity="1" fill="none" │
23:19:10 #995 [Debug] > │ stroke="#FFFFFF"/> │
23:19:10 #996 [Debug] > │ <text x="537" y="245" dy="0.76em" text-anchor="start" │
23:19:10 #997 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #998 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #999 [Debug] > │ square │
23:19:10 #1000 [Debug] > │ </text> │
23:19:10 #1001 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:10 #1002 [Debug] > │ points="507,250 527,250 "/> │
23:19:10 #1003 [Debug] > │ </svg> │
23:19:10 #1004 [Debug] > │ │
23:19:10 #1005 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:10 #1006 [Debug] >
23:19:10 #1007 [Debug] > ╭─[ 787.35ms - stdout ]────────────────────────────────────────────────────────╮
23:19:10 #1008 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:10 #1009 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:10 #1010 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:10 #1011 [Debug] > │ let v2 : bool = v1 < 601 │
23:19:10 #1012 [Debug] > │ v2 │
23:19:10 #1013 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:10 #1014 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:10 #1015 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:10 #1016 [Debug] > │ v3 │
23:19:10 #1017 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:10 #1018 [Debug] > │ []) * (float [])) [])) = │
23:19:10 #1019 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (601) │
23:19:10 #1020 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:10 #1021 [Debug] > │ while method1(v1) do │
23:19:10 #1022 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:10 #1023 [Debug] > │ let v4 : float = float v3 │
23:19:10 #1024 [Debug] > │ let v5 : float = 0.01 * v4 │
23:19:10 #1025 [Debug] > │ let v6 : float = -3.0 + v5 │
23:19:10 #1026 [Debug] > │ v0.[int v3] <- v6 │
23:19:10 #1027 [Debug] > │ let v7 : int32 = v3 + 1 │
23:19:10 #1028 [Debug] > │ v1.l0 <- v7 │
23:19:10 #1029 [Debug] > │ () │
23:19:10 #1030 [Debug] > │ let v8 : int32 = v0.Length │
23:19:10 #1031 [Debug] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
23:19:10 #1032 [Debug] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
23:19:10 #1033 [Debug] > │ while method2(v8, v10) do │
23:19:10 #1034 [Debug] > │ let v12 : int32 = v10.l0 │
23:19:10 #1035 [Debug] > │ let v13 : float = v0.[int v12] │
23:19:10 #1036 [Debug] > │ let v14 : float = v13 ** 2.0 │
23:19:10 #1037 [Debug] > │ v9.[int v12] <- v14 │
23:19:10 #1038 [Debug] > │ let v15 : int32 = v12 + 1 │
23:19:10 #1039 [Debug] > │ v10.l0 <- v15 │
23:19:10 #1040 [Debug] > │ () │
23:19:10 #1041 [Debug] > │ let v16 : string = "square" │
23:19:10 #1042 [Debug] > │ let v17 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:10 #1043 [Debug] > │ (v16, v0, v9)|] │
23:19:10 #1044 [Debug] > │ let v18 : string = "x" │
23:19:10 #1045 [Debug] > │ let v19 : string = "y" │
23:19:10 #1046 [Debug] > │ struct (v16, v18, v19, v17) │
23:19:10 #1047 [Debug] > │ method0() │
23:19:10 #1048 [Debug] > │ │
23:19:10 #1049 [Debug] > │ │
23:19:10 #1050 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:10 #1051 [Debug] >
23:19:10 #1052 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:10 #1053 [Debug] > // // test
23:19:10 #1054 [Debug] >
23:19:10 #1055 [Debug] > inl x : a _ f64 = am'.init_series -10 10 0.1
23:19:10 #1056 [Debug] > inl y_sin = x |> am.map sin
23:19:10 #1057 [Debug] > inl y_cos = x |> am.map cos
23:19:10 #1058 [Debug] > "sin cos", "x", "y", ;[[ "sin", x, y_sin; "cos", x, y_cos ]]
23:19:10 #1059 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1051-5138-5740e12585a5\main.spi
23:19:10 #1060 [Debug] >
23:19:10 #1061 [Debug] > ╭─[ 223.36ms - return value ]──────────────────────────────────────────────────╮
23:19:10 #1062 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:10 #1063 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:10 #1064 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:10 #1065 [Debug] > │ stroke="none"/> │
23:19:10 #1066 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:10 #1067 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1068 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1069 [Debug] > │ sin cos │
23:19:10 #1070 [Debug] > │ </text> │
23:19:10 #1071 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
23:19:10 #1072 [Debug] > │ y2="75"/> │
23:19:10 #1073 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:10 #1074 [Debug] > │ y2="75"/> │
23:19:10 #1075 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
23:19:10 #1076 [Debug] > │ y2="75"/> │
23:19:10 #1077 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
23:19:10 #1078 [Debug] > │ y2="75"/> │
23:19:10 #1079 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │
23:19:10 #1080 [Debug] > │ x2="107" y2="75"/> │
23:19:10 #1081 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:10 #1082 [Debug] > │ x2="119" y2="75"/> │
23:19:10 #1083 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424" │
23:19:10 #1084 [Debug] > │ x2="132" y2="75"/> │
23:19:10 #1085 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
23:19:10 #1086 [Debug] > │ x2="144" y2="75"/> │
23:19:10 #1087 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424" │
23:19:10 #1088 [Debug] > │ x2="157" y2="75"/> │
23:19:10 #1089 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:10 #1090 [Debug] > │ x2="169" y2="75"/> │
23:19:10 #1091 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424" │
23:19:10 #1092 [Debug] > │ x2="182" y2="75"/> │
23:19:10 #1093 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
23:19:10 #1094 [Debug] > │ x2="194" y2="75"/> │
23:19:10 #1095 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424" │
23:19:10 #1096 [Debug] > │ x2="207" y2="75"/> │
23:19:10 #1097 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:10 #1098 [Debug] > │ x2="219" y2="75"/> │
23:19:10 #1099 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="232" y1="424" │
23:19:10 #1100 [Debug] > │ x2="232" y2="75"/> │
23:19:10 #1101 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424" │
23:19:10 #1102 [Debug] > │ x2="244" y2="75"/> │
23:19:10 #1103 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="257" y1="424" │
23:19:10 #1104 [Debug] > │ x2="257" y2="75"/> │
23:19:10 #1105 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:10 #1106 [Debug] > │ x2="269" y2="75"/> │
23:19:10 #1107 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="282" y1="424" │
23:19:10 #1108 [Debug] > │ x2="282" y2="75"/> │
23:19:10 #1109 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424" │
23:19:10 #1110 [Debug] > │ x2="294" y2="75"/> │
23:19:10 #1111 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424" │
23:19:10 #1112 [Debug] > │ x2="307" y2="75"/> │
23:19:10 #1113 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:10 #1114 [Debug] > │ x2="319" y2="75"/> │
23:19:10 #1115 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424" │
23:19:10 #1116 [Debug] > │ x2="331" y2="75"/> │
23:19:10 #1117 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424" │
23:19:10 #1118 [Debug] > │ x2="344" y2="75"/> │
23:19:10 #1119 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="356" y1="424" │
23:19:10 #1120 [Debug] > │ x2="356" y2="75"/> │
23:19:10 #1121 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:10 #1122 [Debug] > │ x2="369" y2="75"/> │
23:19:10 #1123 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="381" y1="424" │
23:19:10 #1124 [Debug] > │ x2="381" y2="75"/> │
23:19:10 #1125 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424" │
23:19:10 #1126 [Debug] > │ x2="394" y2="75"/> │
23:19:10 #1127 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="406" y1="424" │
23:19:10 #1128 [Debug] > │ x2="406" y2="75"/> │
23:19:10 #1129 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:10 #1130 [Debug] > │ x2="419" y2="75"/> │
23:19:10 #1131 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="431" y1="424" │
23:19:10 #1132 [Debug] > │ x2="431" y2="75"/> │
23:19:10 #1133 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424" │
23:19:10 #1134 [Debug] > │ x2="444" y2="75"/> │
23:19:10 #1135 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="456" y1="424" │
23:19:10 #1136 [Debug] > │ x2="456" y2="75"/> │
23:19:10 #1137 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:10 #1138 [Debug] > │ x2="469" y2="75"/> │
23:19:10 #1139 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="481" y1="424" │
23:19:10 #1140 [Debug] > │ x2="481" y2="75"/> │
23:19:10 #1141 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424" │
23:19:10 #1142 [Debug] > │ x2="494" y2="75"/> │
23:19:10 #1143 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="506" y1="424" │
23:19:10 #1144 [Debug] > │ x2="506" y2="75"/> │
23:19:10 #1145 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:10 #1146 [Debug] > │ x2="519" y2="75"/> │
23:19:10 #1147 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="531" y1="424" │
23:19:10 #1148 [Debug] > │ x2="531" y2="75"/> │
23:19:10 #1149 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424" │
23:19:10 #1150 [Debug] > │ x2="544" y2="75"/> │
23:19:10 #1151 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="556" y1="424" │
23:19:10 #1152 [Debug] > │ x2="556" y2="75"/> │
23:19:10 #1153 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:10 #1154 [Debug] > │ x2="569" y2="75"/> │
23:19:10 #1155 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="581" y1="424" │
23:19:10 #1156 [Debug] > │ x2="581" y2="75"/> │
23:19:10 #1157 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:10 #1158 [Debug] > │ x2="584" y2="415"/> │
23:19:10 #1159 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="398" │
23:19:10 #1160 [Debug] > │ x2="584" y2="398"/> │
23:19:10 #1161 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382" │
23:19:10 #1162 [Debug] > │ x2="584" y2="382"/> │
23:19:10 #1163 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="365" │
23:19:10 #1164 [Debug] > │ x2="584" y2="365"/> │
23:19:10 #1165 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349" │
23:19:10 #1166 [Debug] > │ x2="584" y2="349"/> │
23:19:10 #1167 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332" │
23:19:10 #1168 [Debug] > │ x2="584" y2="332"/> │
23:19:10 #1169 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316" │
23:19:10 #1170 [Debug] > │ x2="584" y2="316"/> │
23:19:10 #1171 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="299" │
23:19:10 #1172 [Debug] > │ x2="584" y2="299"/> │
23:19:10 #1173 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283" │
23:19:10 #1174 [Debug] > │ x2="584" y2="283"/> │
23:19:10 #1175 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="266" │
23:19:10 #1176 [Debug] > │ x2="584" y2="266"/> │
23:19:10 #1177 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:10 #1178 [Debug] > │ x2="584" y2="250"/> │
23:19:10 #1179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234" │
23:19:10 #1180 [Debug] > │ x2="584" y2="234"/> │
23:19:10 #1181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217" │
23:19:10 #1182 [Debug] > │ x2="584" y2="217"/> │
23:19:10 #1183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:10 #1184 [Debug] > │ x2="584" y2="201"/> │
23:19:10 #1185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184" │
23:19:10 #1186 [Debug] > │ x2="584" y2="184"/> │
23:19:10 #1187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168" │
23:19:10 #1188 [Debug] > │ x2="584" y2="168"/> │
23:19:10 #1189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151" │
23:19:10 #1190 [Debug] > │ x2="584" y2="151"/> │
23:19:10 #1191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135" │
23:19:10 #1192 [Debug] > │ x2="584" y2="135"/> │
23:19:10 #1193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:10 #1194 [Debug] > │ x2="584" y2="118"/> │
23:19:10 #1195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102" │
23:19:10 #1196 [Debug] > │ x2="584" y2="102"/> │
23:19:10 #1197 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:10 #1198 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1199 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1200 [Debug] > │ x │
23:19:10 #1201 [Debug] > │ </text> │
23:19:10 #1202 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:10 #1203 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1204 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:10 #1205 [Debug] > │ y │
23:19:10 #1206 [Debug] > │ </text> │
23:19:10 #1207 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1208 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1209 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1210 [Debug] > │ x │
23:19:10 #1211 [Debug] > │ </text> │
23:19:10 #1212 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:10 #1213 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1214 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:10 #1215 [Debug] > │ y │
23:19:10 #1216 [Debug] > │ </text> │
23:19:10 #1217 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:10 #1218 [Debug] > │ y2="75"/> │
23:19:10 #1219 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:10 #1220 [Debug] > │ x2="119" y2="75"/> │
23:19:10 #1221 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:10 #1222 [Debug] > │ x2="169" y2="75"/> │
23:19:10 #1223 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:10 #1224 [Debug] > │ x2="219" y2="75"/> │
23:19:10 #1225 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:10 #1226 [Debug] > │ x2="269" y2="75"/> │
23:19:10 #1227 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:10 #1228 [Debug] > │ x2="319" y2="75"/> │
23:19:10 #1229 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:10 #1230 [Debug] > │ x2="369" y2="75"/> │
23:19:10 #1231 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:10 #1232 [Debug] > │ x2="419" y2="75"/> │
23:19:10 #1233 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:10 #1234 [Debug] > │ x2="469" y2="75"/> │
23:19:10 #1235 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:10 #1236 [Debug] > │ x2="519" y2="75"/> │
23:19:10 #1237 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:10 #1238 [Debug] > │ x2="569" y2="75"/> │
23:19:10 #1239 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:10 #1240 [Debug] > │ x2="584" y2="415"/> │
23:19:10 #1241 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332" │
23:19:10 #1242 [Debug] > │ x2="584" y2="332"/> │
23:19:10 #1243 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250" │
23:19:10 #1244 [Debug] > │ x2="584" y2="250"/> │
23:19:10 #1245 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="168" │
23:19:10 #1246 [Debug] > │ x2="584" y2="168"/> │
23:19:10 #1247 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:10 #1248 [Debug] > │ y2="85"/> │
23:19:10 #1249 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1250 [Debug] > │ points="55,74 584,74 "/> │
23:19:10 #1251 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1252 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1253 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1254 [Debug] > │ -10.0 │
23:19:10 #1255 [Debug] > │ </text> │
23:19:10 #1256 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1257 [Debug] > │ points="69,69 69,74 "/> │
23:19:10 #1258 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1259 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1260 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1261 [Debug] > │ -8.0 │
23:19:10 #1262 [Debug] > │ </text> │
23:19:10 #1263 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1264 [Debug] > │ points="119,69 119,74 "/> │
23:19:10 #1265 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1266 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1267 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1268 [Debug] > │ -6.0 │
23:19:10 #1269 [Debug] > │ </text> │
23:19:10 #1270 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1271 [Debug] > │ points="169,69 169,74 "/> │
23:19:10 #1272 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1273 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1274 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1275 [Debug] > │ -4.0 │
23:19:10 #1276 [Debug] > │ </text> │
23:19:10 #1277 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1278 [Debug] > │ points="219,69 219,74 "/> │
23:19:10 #1279 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1280 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1281 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1282 [Debug] > │ -2.0 │
23:19:10 #1283 [Debug] > │ </text> │
23:19:10 #1284 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1285 [Debug] > │ points="269,69 269,74 "/> │
23:19:10 #1286 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1287 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1288 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1289 [Debug] > │ 0.0 │
23:19:10 #1290 [Debug] > │ </text> │
23:19:10 #1291 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1292 [Debug] > │ points="319,69 319,74 "/> │
23:19:10 #1293 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1294 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1295 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1296 [Debug] > │ 2.0 │
23:19:10 #1297 [Debug] > │ </text> │
23:19:10 #1298 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1299 [Debug] > │ points="369,69 369,74 "/> │
23:19:10 #1300 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1301 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1302 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1303 [Debug] > │ 4.0 │
23:19:10 #1304 [Debug] > │ </text> │
23:19:10 #1305 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1306 [Debug] > │ points="419,69 419,74 "/> │
23:19:10 #1307 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1308 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1309 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1310 [Debug] > │ 6.0 │
23:19:10 #1311 [Debug] > │ </text> │
23:19:10 #1312 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1313 [Debug] > │ points="469,69 469,74 "/> │
23:19:10 #1314 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1315 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1316 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1317 [Debug] > │ 8.0 │
23:19:10 #1318 [Debug] > │ </text> │
23:19:10 #1319 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1320 [Debug] > │ points="519,69 519,74 "/> │
23:19:10 #1321 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:10 #1322 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1323 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1324 [Debug] > │ 10.0 │
23:19:10 #1325 [Debug] > │ </text> │
23:19:10 #1326 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1327 [Debug] > │ points="569,69 569,74 "/> │
23:19:10 #1328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1329 [Debug] > │ points="54,75 54,424 "/> │
23:19:10 #1330 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1331 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1332 [Debug] > │ -1.0 │
23:19:10 #1333 [Debug] > │ </text> │
23:19:10 #1334 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1335 [Debug] > │ points="49,415 54,415 "/> │
23:19:10 #1336 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1337 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1338 [Debug] > │ -0.5 │
23:19:10 #1339 [Debug] > │ </text> │
23:19:10 #1340 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1341 [Debug] > │ points="49,332 54,332 "/> │
23:19:10 #1342 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1343 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1344 [Debug] > │ 0.0 │
23:19:10 #1345 [Debug] > │ </text> │
23:19:10 #1346 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1347 [Debug] > │ points="49,250 54,250 "/> │
23:19:10 #1348 [Debug] > │ <text x="45" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1349 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1350 [Debug] > │ 0.5 │
23:19:10 #1351 [Debug] > │ </text> │
23:19:10 #1352 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1353 [Debug] > │ points="49,168 54,168 "/> │
23:19:10 #1354 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1355 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1356 [Debug] > │ 1.0 │
23:19:10 #1357 [Debug] > │ </text> │
23:19:10 #1358 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1359 [Debug] > │ points="49,85 54,85 "/> │
23:19:10 #1360 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1361 [Debug] > │ points="55,425 584,425 "/> │
23:19:10 #1362 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1363 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1364 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1365 [Debug] > │ -10.0 │
23:19:10 #1366 [Debug] > │ </text> │
23:19:10 #1367 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1368 [Debug] > │ points="69,425 69,430 "/> │
23:19:10 #1369 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1370 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1371 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1372 [Debug] > │ -8.0 │
23:19:10 #1373 [Debug] > │ </text> │
23:19:10 #1374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1375 [Debug] > │ points="119,425 119,430 "/> │
23:19:10 #1376 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1377 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1378 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1379 [Debug] > │ -6.0 │
23:19:10 #1380 [Debug] > │ </text> │
23:19:10 #1381 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1382 [Debug] > │ points="169,425 169,430 "/> │
23:19:10 #1383 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1384 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1385 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1386 [Debug] > │ -4.0 │
23:19:10 #1387 [Debug] > │ </text> │
23:19:10 #1388 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1389 [Debug] > │ points="219,425 219,430 "/> │
23:19:10 #1390 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1391 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1392 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1393 [Debug] > │ -2.0 │
23:19:10 #1394 [Debug] > │ </text> │
23:19:10 #1395 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1396 [Debug] > │ points="269,425 269,430 "/> │
23:19:10 #1397 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1398 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1399 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1400 [Debug] > │ 0.0 │
23:19:10 #1401 [Debug] > │ </text> │
23:19:10 #1402 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1403 [Debug] > │ points="319,425 319,430 "/> │
23:19:10 #1404 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1405 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1406 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1407 [Debug] > │ 2.0 │
23:19:10 #1408 [Debug] > │ </text> │
23:19:10 #1409 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1410 [Debug] > │ points="369,425 369,430 "/> │
23:19:10 #1411 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1412 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1413 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1414 [Debug] > │ 4.0 │
23:19:10 #1415 [Debug] > │ </text> │
23:19:10 #1416 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1417 [Debug] > │ points="419,425 419,430 "/> │
23:19:10 #1418 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1419 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1420 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1421 [Debug] > │ 6.0 │
23:19:10 #1422 [Debug] > │ </text> │
23:19:10 #1423 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1424 [Debug] > │ points="469,425 469,430 "/> │
23:19:10 #1425 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1426 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1427 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1428 [Debug] > │ 8.0 │
23:19:10 #1429 [Debug] > │ </text> │
23:19:10 #1430 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1431 [Debug] > │ points="519,425 519,430 "/> │
23:19:10 #1432 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:10 #1433 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1434 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1435 [Debug] > │ 10.0 │
23:19:10 #1436 [Debug] > │ </text> │
23:19:10 #1437 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1438 [Debug] > │ points="569,425 569,430 "/> │
23:19:10 #1439 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1440 [Debug] > │ points="585,75 585,424 "/> │
23:19:10 #1441 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start" │
23:19:10 #1442 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1443 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1444 [Debug] > │ -1.0 │
23:19:10 #1445 [Debug] > │ </text> │
23:19:10 #1446 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1447 [Debug] > │ points="585,415 590,415 "/> │
23:19:10 #1448 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start" │
23:19:10 #1449 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:10 #1450 [Debug] > │ fill="#FFFFFF"> │
23:19:10 #1451 [Debug] > │ -0.5 │
23:19:10 #1452 [Debug] > │ </text> │
23:19:10 #1453 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1454 [Debug] > │ points="585,332 590,332 "/> │
23:19:10 #1455 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1456 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1457 [Debug] > │ 0.0 │
23:19:10 #1458 [Debug] > │ </text> │
23:19:10 #1459 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1460 [Debug] > │ points="585,250 590,250 "/> │
23:19:10 #1461 [Debug] > │ <text x="617" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1462 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1463 [Debug] > │ 0.5 │
23:19:10 #1464 [Debug] > │ </text> │
23:19:10 #1465 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1466 [Debug] > │ points="585,168 590,168 "/> │
23:19:10 #1467 [Debug] > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:10 #1468 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:10 #1469 [Debug] > │ 1.0 │
23:19:10 #1470 [Debug] > │ </text> │
23:19:10 #1471 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:10 #1472 [Debug] > │ points="585,85 590,85 "/> │
23:19:10 #1473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:10 #1474 [Debug] > │ points="69,160 72,175 74,190 77,205 79,221 82,238 84,254 87,270 89,287 │
23:19:10 #1475 [Debug] > │ 92,303 94,318 97,332 99,346 102,359 104,371 107,381 109,391 112,399 114,405 │
23:19:10 #1476 [Debug] > │ 117,410 119,413 122,414 124,414 127,413 129,409 132,404 134,398 137,390 │
23:19:10 #1477 [Debug] > │ 139,381 142,370 144,358 147,345 149,331 152,317 154,301 157,285 159,269 │
23:19:10 #1478 [Debug] > │ 162,253 164,236 167,220 169,204 172,188 174,174 177,159 179,146 182,134 │
23:19:10 #1479 [Debug] > │ 184,123 187,113 189,105 192,98 194,92 197,88 199,86 202,85 204,86 207,89 │
23:19:10 #1480 [Debug] > │ 209,93 212,99 214,107 217,115 219,125 222,137 224,149 227,163 229,177 │
23:19:10 #1481 [Debug] > │ 232,192 234,208 237,224 239,240 242,257 244,273 247,289 249,305 252,320 │
23:19:10 #1482 [Debug] > │ 254,335 257,349 259,361 262,373 264,383 267,392 269,400 272,406 274,410 │
23:19:10 #1483 [Debug] > │ 277,413 279,415 282,414 284,412 287,409 289,403 292,397 294,389 297,379 │
23:19:10 #1484 [Debug] > │ 299,368 302,356 304,343 307,329 309,314 312,299 314,283 317,266 319,250 │
23:19:10 #1485 [Debug] > │ 321,234 324,217 326,201 329,186 331,171 334,157 336,144 339,132 341,121 │
23:19:10 #1486 [Debug] > │ 344,111 346,103 349,97 351,91 354,88 356,86 359,85 361,87 364,90 366,94 │
23:19:10 #1487 [Debug] > │ 369,100 371,108 374,117 376,127 379,139 381,151 384,165 386,180 389,195 │
23:19:10 #1488 [Debug] > │ 391,211 394,227 396,243 399,260 401,276 404,292 406,308 409,323 411,337 │
23:19:10 #1489 [Debug] > │ 414,351 416,363 419,375 421,385 424,393 426,401 429,407 431,411 434,414 │
23:19:10 #1490 [Debug] > │ 436,415 439,414 441,412 444,408 446,402 449,395 451,387 454,377 456,366 │
23:19:10 #1491 [Debug] > │ 459,354 461,341 464,326 466,312 469,296 471,280 474,264 476,247 479,231 │
23:19:10 #1492 [Debug] > │ 481,215 484,199 486,183 489,169 491,155 494,142 496,130 499,119 501,110 │
23:19:10 #1493 [Debug] > │ 504,102 506,96 509,91 511,87 514,86 516,86 519,87 521,90 524,95 526,101 │
23:19:10 #1494 [Debug] > │ 529,109 531,119 534,129 536,141 539,154 541,168 544,182 546,197 549,213 │
23:19:10 #1495 [Debug] > │ 551,230 554,246 556,262 559,279 561,295 564,310 566,325 569,340 "/> │
23:19:10 #1496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:11 #1497 [Debug] > │ points="69,388 72,396 74,403 77,408 79,412 82,414 84,415 87,413 89,410 │
23:19:11 #1498 [Debug] > │ 92,406 94,400 97,392 99,384 102,373 104,362 107,349 109,335 112,321 114,306 │
23:19:11 #1499 [Debug] > │ 117,290 119,274 122,258 124,241 127,225 129,209 132,193 134,178 137,163 │
23:19:11 #1500 [Debug] > │ 139,150 142,137 144,126 147,116 149,107 152,99 154,94 157,89 159,86 162,85 │
23:19:11 #1501 [Debug] > │ 164,86 167,88 169,92 172,97 174,104 177,113 179,122 182,133 184,146 187,159 │
23:19:11 #1502 [Debug] > │ 189,173 192,188 194,203 197,219 199,236 202,252 204,268 207,285 209,301 │
23:19:11 #1503 [Debug] > │ 212,316 214,331 217,345 219,358 222,370 224,380 227,390 229,398 232,404 │
23:19:11 #1504 [Debug] > │ 234,409 237,413 239,414 242,414 244,413 247,410 249,405 252,399 254,391 │
23:19:11 #1505 [Debug] > │ 257,382 259,371 262,360 264,347 267,333 269,319 272,303 274,287 277,271 │
23:19:11 #1506 [Debug] > │ 279,255 282,238 284,222 287,206 289,190 292,175 294,161 297,148 299,135 │
23:19:11 #1507 [Debug] > │ 302,124 304,114 307,106 309,98 312,93 314,89 317,86 319,85 321,86 324,89 │
23:19:11 #1508 [Debug] > │ 326,93 329,98 331,106 334,114 336,124 339,135 341,148 344,161 346,175 │
23:19:11 #1509 [Debug] > │ 349,190 351,206 354,222 356,238 359,255 361,271 364,287 366,303 369,319 │
23:19:11 #1510 [Debug] > │ 371,333 374,347 376,360 379,371 381,382 384,391 386,399 389,405 391,410 │
23:19:11 #1511 [Debug] > │ 394,413 396,414 399,414 401,413 404,409 406,404 409,398 411,390 414,380 │
23:19:11 #1512 [Debug] > │ 416,370 419,358 421,345 424,331 426,316 429,301 431,285 434,268 436,252 │
23:19:11 #1513 [Debug] > │ 439,236 441,219 444,203 446,188 449,173 451,159 454,146 456,133 459,122 │
23:19:11 #1514 [Debug] > │ 461,113 464,104 466,97 469,92 471,88 474,86 476,85 479,86 481,89 484,94 │
23:19:11 #1515 [Debug] > │ 486,99 489,107 491,116 494,126 496,137 499,150 501,163 504,178 506,193 │
23:19:11 #1516 [Debug] > │ 509,209 511,225 514,241 516,258 519,274 521,290 524,306 526,321 529,335 │
23:19:11 #1517 [Debug] > │ 531,349 534,362 536,373 539,384 541,392 544,400 546,406 549,410 551,413 │
23:19:11 #1518 [Debug] > │ 554,415 556,414 559,412 561,408 564,403 566,396 569,388 "/> │
23:19:11 #1519 [Debug] > │ <rect x="514" y="227" width="66" height="45" opacity="1" fill="none" │
23:19:11 #1520 [Debug] > │ stroke="#FFFFFF"/> │
23:19:11 #1521 [Debug] > │ <text x="554" y="237" dy="0.76em" text-anchor="start" │
23:19:11 #1522 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1523 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1524 [Debug] > │ sin │
23:19:11 #1525 [Debug] > │ </text> │
23:19:11 #1526 [Debug] > │ <text x="554" y="252" dy="0.76em" text-anchor="start" │
23:19:11 #1527 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1528 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1529 [Debug] > │ cos │
23:19:11 #1530 [Debug] > │ </text> │
23:19:11 #1531 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:11 #1532 [Debug] > │ points="524,242 544,242 "/> │
23:19:11 #1533 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:11 #1534 [Debug] > │ points="524,257 544,257 "/> │
23:19:11 #1535 [Debug] > │ </svg> │
23:19:11 #1536 [Debug] > │ │
23:19:11 #1537 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:11 #1538 [Debug] >
23:19:11 #1539 [Debug] > ╭─[ 518.68ms - stdout ]────────────────────────────────────────────────────────╮
23:19:11 #1540 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:11 #1541 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:11 #1542 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:11 #1543 [Debug] > │ let v2 : bool = v1 < 201 │
23:19:11 #1544 [Debug] > │ v2 │
23:19:11 #1545 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:11 #1546 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:11 #1547 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:11 #1548 [Debug] > │ v3 │
23:19:11 #1549 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:11 #1550 [Debug] > │ []) * (float [])) [])) = │
23:19:11 #1551 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (201) │
23:19:11 #1552 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:11 #1553 [Debug] > │ while method1(v1) do │
23:19:11 #1554 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:11 #1555 [Debug] > │ let v4 : float = float v3 │
23:19:11 #1556 [Debug] > │ let v5 : float = 0.1 * v4 │
23:19:11 #1557 [Debug] > │ let v6 : float = -10.0 + v5 │
23:19:11 #1558 [Debug] > │ v0.[int v3] <- v6 │
23:19:11 #1559 [Debug] > │ let v7 : int32 = v3 + 1 │
23:19:11 #1560 [Debug] > │ v1.l0 <- v7 │
23:19:11 #1561 [Debug] > │ () │
23:19:11 #1562 [Debug] > │ let v8 : int32 = v0.Length │
23:19:11 #1563 [Debug] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
23:19:11 #1564 [Debug] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
23:19:11 #1565 [Debug] > │ while method2(v8, v10) do │
23:19:11 #1566 [Debug] > │ let v12 : int32 = v10.l0 │
23:19:11 #1567 [Debug] > │ let v13 : float = v0.[int v12] │
23:19:11 #1568 [Debug] > │ let v14 : float = sin v13 │
23:19:11 #1569 [Debug] > │ v9.[int v12] <- v14 │
23:19:11 #1570 [Debug] > │ let v15 : int32 = v12 + 1 │
23:19:11 #1571 [Debug] > │ v10.l0 <- v15 │
23:19:11 #1572 [Debug] > │ () │
23:19:11 #1573 [Debug] > │ let v16 : (float []) = Array.zeroCreate<float> (v8) │
23:19:11 #1574 [Debug] > │ let v17 : Mut0 = {l0 = 0} : Mut0 │
23:19:11 #1575 [Debug] > │ while method2(v8, v17) do │
23:19:11 #1576 [Debug] > │ let v19 : int32 = v17.l0 │
23:19:11 #1577 [Debug] > │ let v20 : float = v0.[int v19] │
23:19:11 #1578 [Debug] > │ let v21 : float = cos v20 │
23:19:11 #1579 [Debug] > │ v16.[int v19] <- v21 │
23:19:11 #1580 [Debug] > │ let v22 : int32 = v19 + 1 │
23:19:11 #1581 [Debug] > │ v17.l0 <- v22 │
23:19:11 #1582 [Debug] > │ () │
23:19:11 #1583 [Debug] > │ let v23 : string = "sin" │
23:19:11 #1584 [Debug] > │ let v24 : string = "cos" │
23:19:11 #1585 [Debug] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:11 #1586 [Debug] > │ (v23, v0, v9); struct (v24, v0, v16)|] │
23:19:11 #1587 [Debug] > │ let v26 : string = "sin cos" │
23:19:11 #1588 [Debug] > │ let v27 : string = "x" │
23:19:11 #1589 [Debug] > │ let v28 : string = "y" │
23:19:11 #1590 [Debug] > │ struct (v26, v27, v28, v25) │
23:19:11 #1591 [Debug] > │ method0() │
23:19:11 #1592 [Debug] > │ │
23:19:11 #1593 [Debug] > │ │
23:19:11 #1594 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:11 #1595 [Debug] >
23:19:11 #1596 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:11 #1597 [Debug] > // // test
23:19:11 #1598 [Debug] >
23:19:11 #1599 [Debug] > inl y_pos y0 vy0 ay t =
23:19:11 #1600 [Debug] > y0 + vy0 * t + ay * (t |> math.square) / 2
23:19:11 #1601 [Debug] >
23:19:11 #1602 [Debug] > inl x : a _ f64 = am'.init_series 0 5 0.01
23:19:11 #1603 [Debug] > inl y = x |> am.map (y_pos 0 20 -9.8)
23:19:11 #1604 [Debug] > "projectile motion", "time (s)", "", ;[[ "height of projectile (m)", x, y ]]
23:19:11 #1605 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1107-0705-0739aa8fbb82\main.spi
23:19:11 #1606 [Debug] >
23:19:11 #1607 [Debug] > ╭─[ 207.95ms - return value ]──────────────────────────────────────────────────╮
23:19:11 #1608 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:11 #1609 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:11 #1610 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:11 #1611 [Debug] > │ stroke="none"/> │
23:19:11 #1612 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:11 #1613 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1614 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1615 [Debug] > │ projectile motion │
23:19:11 #1616 [Debug] > │ </text> │
23:19:11 #1617 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:11 #1618 [Debug] > │ y2="75"/> │
23:19:11 #1619 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:11 #1620 [Debug] > │ y2="75"/> │
23:19:11 #1621 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:11 #1622 [Debug] > │ y2="75"/> │
23:19:11 #1623 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:11 #1624 [Debug] > │ y2="75"/> │
23:19:11 #1625 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:11 #1626 [Debug] > │ y2="75"/> │
23:19:11 #1627 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:11 #1628 [Debug] > │ x2="109" y2="75"/> │
23:19:11 #1629 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:11 #1630 [Debug] > │ x2="119" y2="75"/> │
23:19:11 #1631 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:11 #1632 [Debug] > │ x2="129" y2="75"/> │
23:19:11 #1633 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:11 #1634 [Debug] > │ x2="139" y2="75"/> │
23:19:11 #1635 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:11 #1636 [Debug] > │ x2="149" y2="75"/> │
23:19:11 #1637 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:11 #1638 [Debug] > │ x2="159" y2="75"/> │
23:19:11 #1639 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:11 #1640 [Debug] > │ x2="169" y2="75"/> │
23:19:11 #1641 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:11 #1642 [Debug] > │ x2="179" y2="75"/> │
23:19:11 #1643 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:11 #1644 [Debug] > │ x2="189" y2="75"/> │
23:19:11 #1645 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:11 #1646 [Debug] > │ x2="199" y2="75"/> │
23:19:11 #1647 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:11 #1648 [Debug] > │ x2="209" y2="75"/> │
23:19:11 #1649 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:11 #1650 [Debug] > │ x2="219" y2="75"/> │
23:19:11 #1651 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:11 #1652 [Debug] > │ x2="229" y2="75"/> │
23:19:11 #1653 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:11 #1654 [Debug] > │ x2="239" y2="75"/> │
23:19:11 #1655 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:11 #1656 [Debug] > │ x2="249" y2="75"/> │
23:19:11 #1657 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:11 #1658 [Debug] > │ x2="259" y2="75"/> │
23:19:11 #1659 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:11 #1660 [Debug] > │ x2="269" y2="75"/> │
23:19:11 #1661 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:11 #1662 [Debug] > │ x2="279" y2="75"/> │
23:19:11 #1663 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:11 #1664 [Debug] > │ x2="289" y2="75"/> │
23:19:11 #1665 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:11 #1666 [Debug] > │ x2="299" y2="75"/> │
23:19:11 #1667 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:11 #1668 [Debug] > │ x2="309" y2="75"/> │
23:19:11 #1669 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:11 #1670 [Debug] > │ x2="319" y2="75"/> │
23:19:11 #1671 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:11 #1672 [Debug] > │ x2="329" y2="75"/> │
23:19:11 #1673 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:11 #1674 [Debug] > │ x2="339" y2="75"/> │
23:19:11 #1675 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:11 #1676 [Debug] > │ x2="349" y2="75"/> │
23:19:11 #1677 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:11 #1678 [Debug] > │ x2="359" y2="75"/> │
23:19:11 #1679 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:11 #1680 [Debug] > │ x2="369" y2="75"/> │
23:19:11 #1681 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:11 #1682 [Debug] > │ x2="379" y2="75"/> │
23:19:11 #1683 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:11 #1684 [Debug] > │ x2="389" y2="75"/> │
23:19:11 #1685 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:11 #1686 [Debug] > │ x2="399" y2="75"/> │
23:19:11 #1687 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:11 #1688 [Debug] > │ x2="409" y2="75"/> │
23:19:11 #1689 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:11 #1690 [Debug] > │ x2="419" y2="75"/> │
23:19:11 #1691 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:11 #1692 [Debug] > │ x2="429" y2="75"/> │
23:19:11 #1693 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:11 #1694 [Debug] > │ x2="439" y2="75"/> │
23:19:11 #1695 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:11 #1696 [Debug] > │ x2="449" y2="75"/> │
23:19:11 #1697 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:11 #1698 [Debug] > │ x2="459" y2="75"/> │
23:19:11 #1699 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:11 #1700 [Debug] > │ x2="469" y2="75"/> │
23:19:11 #1701 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:11 #1702 [Debug] > │ x2="479" y2="75"/> │
23:19:11 #1703 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:11 #1704 [Debug] > │ x2="489" y2="75"/> │
23:19:11 #1705 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:11 #1706 [Debug] > │ x2="499" y2="75"/> │
23:19:11 #1707 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:11 #1708 [Debug] > │ x2="509" y2="75"/> │
23:19:11 #1709 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:11 #1710 [Debug] > │ x2="519" y2="75"/> │
23:19:11 #1711 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:11 #1712 [Debug] > │ x2="529" y2="75"/> │
23:19:11 #1713 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:11 #1714 [Debug] > │ x2="539" y2="75"/> │
23:19:11 #1715 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:11 #1716 [Debug] > │ x2="549" y2="75"/> │
23:19:11 #1717 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:11 #1718 [Debug] > │ x2="559" y2="75"/> │
23:19:11 #1719 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:11 #1720 [Debug] > │ x2="569" y2="75"/> │
23:19:11 #1721 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424" │
23:19:11 #1722 [Debug] > │ x2="579" y2="75"/> │
23:19:11 #1723 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="411" │
23:19:11 #1724 [Debug] > │ x2="584" y2="411"/> │
23:19:11 #1725 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="395" │
23:19:11 #1726 [Debug] > │ x2="584" y2="395"/> │
23:19:11 #1727 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380" │
23:19:11 #1728 [Debug] > │ x2="584" y2="380"/> │
23:19:11 #1729 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="365" │
23:19:11 #1730 [Debug] > │ x2="584" y2="365"/> │
23:19:11 #1731 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349" │
23:19:11 #1732 [Debug] > │ x2="584" y2="349"/> │
23:19:11 #1733 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="334" │
23:19:11 #1734 [Debug] > │ x2="584" y2="334"/> │
23:19:11 #1735 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="319" │
23:19:11 #1736 [Debug] > │ x2="584" y2="319"/> │
23:19:11 #1737 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="303" │
23:19:11 #1738 [Debug] > │ x2="584" y2="303"/> │
23:19:11 #1739 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="288" │
23:19:11 #1740 [Debug] > │ x2="584" y2="288"/> │
23:19:11 #1741 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273" │
23:19:11 #1742 [Debug] > │ x2="584" y2="273"/> │
23:19:11 #1743 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="257" │
23:19:11 #1744 [Debug] > │ x2="584" y2="257"/> │
23:19:11 #1745 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="242" │
23:19:11 #1746 [Debug] > │ x2="584" y2="242"/> │
23:19:11 #1747 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="227" │
23:19:11 #1748 [Debug] > │ x2="584" y2="227"/> │
23:19:11 #1749 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="211" │
23:19:11 #1750 [Debug] > │ x2="584" y2="211"/> │
23:19:11 #1751 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="196" │
23:19:11 #1752 [Debug] > │ x2="584" y2="196"/> │
23:19:11 #1753 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="181" │
23:19:11 #1754 [Debug] > │ x2="584" y2="181"/> │
23:19:11 #1755 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="165" │
23:19:11 #1756 [Debug] > │ x2="584" y2="165"/> │
23:19:11 #1757 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="150" │
23:19:11 #1758 [Debug] > │ x2="584" y2="150"/> │
23:19:11 #1759 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135" │
23:19:11 #1760 [Debug] > │ x2="584" y2="135"/> │
23:19:11 #1761 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="119" │
23:19:11 #1762 [Debug] > │ x2="584" y2="119"/> │
23:19:11 #1763 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="104" │
23:19:11 #1764 [Debug] > │ x2="584" y2="104"/> │
23:19:11 #1765 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="89" x2="584" │
23:19:11 #1766 [Debug] > │ y2="89"/> │
23:19:11 #1767 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:11 #1768 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1769 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1770 [Debug] > │ time (s) │
23:19:11 #1771 [Debug] > │ </text> │
23:19:11 #1772 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:11 #1773 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1774 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:11 #1775 [Debug] > │ │
23:19:11 #1776 [Debug] > │ </text> │
23:19:11 #1777 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1778 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1779 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1780 [Debug] > │ time (s) │
23:19:11 #1781 [Debug] > │ </text> │
23:19:11 #1782 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:11 #1783 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1784 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:11 #1785 [Debug] > │ │
23:19:11 #1786 [Debug] > │ </text> │
23:19:11 #1787 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:11 #1788 [Debug] > │ y2="75"/> │
23:19:11 #1789 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:11 #1790 [Debug] > │ x2="119" y2="75"/> │
23:19:11 #1791 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:11 #1792 [Debug] > │ x2="169" y2="75"/> │
23:19:11 #1793 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:11 #1794 [Debug] > │ x2="219" y2="75"/> │
23:19:11 #1795 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:11 #1796 [Debug] > │ x2="269" y2="75"/> │
23:19:11 #1797 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:11 #1798 [Debug] > │ x2="319" y2="75"/> │
23:19:11 #1799 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:11 #1800 [Debug] > │ x2="369" y2="75"/> │
23:19:11 #1801 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:11 #1802 [Debug] > │ x2="419" y2="75"/> │
23:19:11 #1803 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:11 #1804 [Debug] > │ x2="469" y2="75"/> │
23:19:11 #1805 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:11 #1806 [Debug] > │ x2="519" y2="75"/> │
23:19:11 #1807 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:11 #1808 [Debug] > │ x2="569" y2="75"/> │
23:19:11 #1809 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="395" │
23:19:11 #1810 [Debug] > │ x2="584" y2="395"/> │
23:19:11 #1811 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="357" │
23:19:11 #1812 [Debug] > │ x2="584" y2="357"/> │
23:19:11 #1813 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="319" │
23:19:11 #1814 [Debug] > │ x2="584" y2="319"/> │
23:19:11 #1815 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="280" │
23:19:11 #1816 [Debug] > │ x2="584" y2="280"/> │
23:19:11 #1817 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="242" │
23:19:11 #1818 [Debug] > │ x2="584" y2="242"/> │
23:19:11 #1819 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="204" │
23:19:11 #1820 [Debug] > │ x2="584" y2="204"/> │
23:19:11 #1821 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="165" │
23:19:11 #1822 [Debug] > │ x2="584" y2="165"/> │
23:19:11 #1823 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="127" │
23:19:11 #1824 [Debug] > │ x2="584" y2="127"/> │
23:19:11 #1825 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="89" x2="584" │
23:19:11 #1826 [Debug] > │ y2="89"/> │
23:19:11 #1827 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1828 [Debug] > │ points="55,74 584,74 "/> │
23:19:11 #1829 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1830 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1831 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1832 [Debug] > │ 0.0 │
23:19:11 #1833 [Debug] > │ </text> │
23:19:11 #1834 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1835 [Debug] > │ points="69,69 69,74 "/> │
23:19:11 #1836 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1837 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1838 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1839 [Debug] > │ 0.5 │
23:19:11 #1840 [Debug] > │ </text> │
23:19:11 #1841 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1842 [Debug] > │ points="119,69 119,74 "/> │
23:19:11 #1843 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1844 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1845 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1846 [Debug] > │ 1.0 │
23:19:11 #1847 [Debug] > │ </text> │
23:19:11 #1848 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1849 [Debug] > │ points="169,69 169,74 "/> │
23:19:11 #1850 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1851 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1852 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1853 [Debug] > │ 1.5 │
23:19:11 #1854 [Debug] > │ </text> │
23:19:11 #1855 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1856 [Debug] > │ points="219,69 219,74 "/> │
23:19:11 #1857 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1858 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1859 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1860 [Debug] > │ 2.0 │
23:19:11 #1861 [Debug] > │ </text> │
23:19:11 #1862 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1863 [Debug] > │ points="269,69 269,74 "/> │
23:19:11 #1864 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1865 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1866 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1867 [Debug] > │ 2.5 │
23:19:11 #1868 [Debug] > │ </text> │
23:19:11 #1869 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1870 [Debug] > │ points="319,69 319,74 "/> │
23:19:11 #1871 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1872 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1873 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1874 [Debug] > │ 3.0 │
23:19:11 #1875 [Debug] > │ </text> │
23:19:11 #1876 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1877 [Debug] > │ points="369,69 369,74 "/> │
23:19:11 #1878 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1879 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1880 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1881 [Debug] > │ 3.5 │
23:19:11 #1882 [Debug] > │ </text> │
23:19:11 #1883 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1884 [Debug] > │ points="419,69 419,74 "/> │
23:19:11 #1885 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1886 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1887 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1888 [Debug] > │ 4.0 │
23:19:11 #1889 [Debug] > │ </text> │
23:19:11 #1890 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1891 [Debug] > │ points="469,69 469,74 "/> │
23:19:11 #1892 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1893 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1894 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1895 [Debug] > │ 4.5 │
23:19:11 #1896 [Debug] > │ </text> │
23:19:11 #1897 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1898 [Debug] > │ points="519,69 519,74 "/> │
23:19:11 #1899 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:11 #1900 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1901 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1902 [Debug] > │ 5.0 │
23:19:11 #1903 [Debug] > │ </text> │
23:19:11 #1904 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1905 [Debug] > │ points="569,69 569,74 "/> │
23:19:11 #1906 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1907 [Debug] > │ points="54,75 54,424 "/> │
23:19:11 #1908 [Debug] > │ <text x="45" y="395" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1909 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1910 [Debug] > │ -20.0 │
23:19:11 #1911 [Debug] > │ </text> │
23:19:11 #1912 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1913 [Debug] > │ points="49,395 54,395 "/> │
23:19:11 #1914 [Debug] > │ <text x="45" y="357" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1915 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1916 [Debug] > │ -15.0 │
23:19:11 #1917 [Debug] > │ </text> │
23:19:11 #1918 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1919 [Debug] > │ points="49,357 54,357 "/> │
23:19:11 #1920 [Debug] > │ <text x="45" y="319" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1921 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1922 [Debug] > │ -10.0 │
23:19:11 #1923 [Debug] > │ </text> │
23:19:11 #1924 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1925 [Debug] > │ points="49,319 54,319 "/> │
23:19:11 #1926 [Debug] > │ <text x="45" y="280" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1927 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1928 [Debug] > │ -5.0 │
23:19:11 #1929 [Debug] > │ </text> │
23:19:11 #1930 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1931 [Debug] > │ points="49,280 54,280 "/> │
23:19:11 #1932 [Debug] > │ <text x="45" y="242" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1933 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1934 [Debug] > │ 0.0 │
23:19:11 #1935 [Debug] > │ </text> │
23:19:11 #1936 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1937 [Debug] > │ points="49,242 54,242 "/> │
23:19:11 #1938 [Debug] > │ <text x="45" y="204" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1939 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1940 [Debug] > │ 5.0 │
23:19:11 #1941 [Debug] > │ </text> │
23:19:11 #1942 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1943 [Debug] > │ points="49,204 54,204 "/> │
23:19:11 #1944 [Debug] > │ <text x="45" y="165" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1945 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1946 [Debug] > │ 10.0 │
23:19:11 #1947 [Debug] > │ </text> │
23:19:11 #1948 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1949 [Debug] > │ points="49,165 54,165 "/> │
23:19:11 #1950 [Debug] > │ <text x="45" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1951 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1952 [Debug] > │ 15.0 │
23:19:11 #1953 [Debug] > │ </text> │
23:19:11 #1954 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1955 [Debug] > │ points="49,127 54,127 "/> │
23:19:11 #1956 [Debug] > │ <text x="45" y="89" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #1957 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #1958 [Debug] > │ 20.0 │
23:19:11 #1959 [Debug] > │ </text> │
23:19:11 #1960 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1961 [Debug] > │ points="49,89 54,89 "/> │
23:19:11 #1962 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1963 [Debug] > │ points="55,425 584,425 "/> │
23:19:11 #1964 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #1965 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1966 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1967 [Debug] > │ 0.0 │
23:19:11 #1968 [Debug] > │ </text> │
23:19:11 #1969 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1970 [Debug] > │ points="69,425 69,430 "/> │
23:19:11 #1971 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #1972 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1973 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1974 [Debug] > │ 0.5 │
23:19:11 #1975 [Debug] > │ </text> │
23:19:11 #1976 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1977 [Debug] > │ points="119,425 119,430 "/> │
23:19:11 #1978 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #1979 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1980 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1981 [Debug] > │ 1.0 │
23:19:11 #1982 [Debug] > │ </text> │
23:19:11 #1983 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1984 [Debug] > │ points="169,425 169,430 "/> │
23:19:11 #1985 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #1986 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1987 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1988 [Debug] > │ 1.5 │
23:19:11 #1989 [Debug] > │ </text> │
23:19:11 #1990 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1991 [Debug] > │ points="219,425 219,430 "/> │
23:19:11 #1992 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #1993 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #1994 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #1995 [Debug] > │ 2.0 │
23:19:11 #1996 [Debug] > │ </text> │
23:19:11 #1997 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #1998 [Debug] > │ points="269,425 269,430 "/> │
23:19:11 #1999 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #2000 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2001 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2002 [Debug] > │ 2.5 │
23:19:11 #2003 [Debug] > │ </text> │
23:19:11 #2004 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2005 [Debug] > │ points="319,425 319,430 "/> │
23:19:11 #2006 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #2007 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2008 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2009 [Debug] > │ 3.0 │
23:19:11 #2010 [Debug] > │ </text> │
23:19:11 #2011 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2012 [Debug] > │ points="369,425 369,430 "/> │
23:19:11 #2013 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #2014 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2015 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2016 [Debug] > │ 3.5 │
23:19:11 #2017 [Debug] > │ </text> │
23:19:11 #2018 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2019 [Debug] > │ points="419,425 419,430 "/> │
23:19:11 #2020 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #2021 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2022 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2023 [Debug] > │ 4.0 │
23:19:11 #2024 [Debug] > │ </text> │
23:19:11 #2025 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2026 [Debug] > │ points="469,425 469,430 "/> │
23:19:11 #2027 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #2028 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2029 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2030 [Debug] > │ 4.5 │
23:19:11 #2031 [Debug] > │ </text> │
23:19:11 #2032 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2033 [Debug] > │ points="519,425 519,430 "/> │
23:19:11 #2034 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:11 #2035 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2036 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2037 [Debug] > │ 5.0 │
23:19:11 #2038 [Debug] > │ </text> │
23:19:11 #2039 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2040 [Debug] > │ points="569,425 569,430 "/> │
23:19:11 #2041 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2042 [Debug] > │ points="585,75 585,424 "/> │
23:19:11 #2043 [Debug] > │ <text x="595" y="395" dy="0.5ex" text-anchor="start" │
23:19:11 #2044 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2045 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2046 [Debug] > │ -20.0 │
23:19:11 #2047 [Debug] > │ </text> │
23:19:11 #2048 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2049 [Debug] > │ points="585,395 590,395 "/> │
23:19:11 #2050 [Debug] > │ <text x="595" y="357" dy="0.5ex" text-anchor="start" │
23:19:11 #2051 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2052 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2053 [Debug] > │ -15.0 │
23:19:11 #2054 [Debug] > │ </text> │
23:19:11 #2055 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2056 [Debug] > │ points="585,357 590,357 "/> │
23:19:11 #2057 [Debug] > │ <text x="595" y="319" dy="0.5ex" text-anchor="start" │
23:19:11 #2058 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2059 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2060 [Debug] > │ -10.0 │
23:19:11 #2061 [Debug] > │ </text> │
23:19:11 #2062 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2063 [Debug] > │ points="585,319 590,319 "/> │
23:19:11 #2064 [Debug] > │ <text x="622" y="280" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #2065 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #2066 [Debug] > │ -5.0 │
23:19:11 #2067 [Debug] > │ </text> │
23:19:11 #2068 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2069 [Debug] > │ points="585,280 590,280 "/> │
23:19:11 #2070 [Debug] > │ <text x="622" y="242" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #2071 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #2072 [Debug] > │ 0.0 │
23:19:11 #2073 [Debug] > │ </text> │
23:19:11 #2074 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2075 [Debug] > │ points="585,242 590,242 "/> │
23:19:11 #2076 [Debug] > │ <text x="622" y="204" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #2077 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #2078 [Debug] > │ 5.0 │
23:19:11 #2079 [Debug] > │ </text> │
23:19:11 #2080 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2081 [Debug] > │ points="585,204 590,204 "/> │
23:19:11 #2082 [Debug] > │ <text x="622" y="165" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #2083 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #2084 [Debug] > │ 10.0 │
23:19:11 #2085 [Debug] > │ </text> │
23:19:11 #2086 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2087 [Debug] > │ points="585,165 590,165 "/> │
23:19:11 #2088 [Debug] > │ <text x="622" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #2089 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #2090 [Debug] > │ 15.0 │
23:19:11 #2091 [Debug] > │ </text> │
23:19:11 #2092 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2093 [Debug] > │ points="585,127 590,127 "/> │
23:19:11 #2094 [Debug] > │ <text x="622" y="89" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:11 #2095 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:11 #2096 [Debug] > │ 20.0 │
23:19:11 #2097 [Debug] > │ </text> │
23:19:11 #2098 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:11 #2099 [Debug] > │ points="585,89 590,89 "/> │
23:19:11 #2100 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:11 #2101 [Debug] > │ points="69,242 70,240 71,239 72,237 73,236 74,234 75,233 76,231 77,230 │
23:19:11 #2102 [Debug] > │ 78,228 79,227 80,226 81,224 82,223 83,221 84,220 85,218 86,217 87,216 88,214 │
23:19:11 #2103 [Debug] > │ 89,213 90,211 91,210 92,209 93,207 94,206 95,205 96,203 97,202 98,201 99,199 │
23:19:11 #2104 [Debug] > │ 100,198 101,197 102,195 103,194 104,193 105,192 106,190 107,189 108,188 │
23:19:11 #2105 [Debug] > │ 109,187 110,185 111,184 112,183 113,182 114,181 115,179 116,178 117,177 │
23:19:11 #2106 [Debug] > │ 118,176 119,175 120,173 121,172 122,171 123,170 124,169 125,168 126,167 │
23:19:11 #2107 [Debug] > │ 127,166 128,165 129,163 130,162 131,161 132,160 133,159 134,158 135,157 │
23:19:11 #2108 [Debug] > │ 136,156 137,155 138,154 139,153 140,152 141,151 142,150 143,149 144,148 │
23:19:11 #2109 [Debug] > │ 145,147 146,146 147,145 148,144 149,143 150,142 151,141 152,140 153,140 │
23:19:11 #2110 [Debug] > │ 154,139 155,138 156,137 157,136 158,135 159,134 160,133 161,133 162,132 │
23:19:11 #2111 [Debug] > │ 163,131 164,130 165,129 166,128 167,128 168,127 169,126 170,125 171,125 │
23:19:11 #2112 [Debug] > │ 172,124 173,123 174,122 175,122 176,121 177,120 178,119 179,119 180,118 │
23:19:11 #2113 [Debug] > │ 181,117 182,117 183,116 184,115 185,115 186,114 187,113 188,113 189,112 │
23:19:11 #2114 [Debug] > │ 190,111 191,111 192,110 193,109 194,109 195,108 196,108 197,107 198,107 │
23:19:11 #2115 [Debug] > │ 199,106 200,105 201,105 202,104 203,104 204,103 205,103 206,102 207,102 │
23:19:11 #2116 [Debug] > │ 208,101 209,101 210,100 211,100 212,99 213,99 214,99 215,98 216,98 217,97 │
23:19:11 #2117 [Debug] > │ 218,97 219,96 220,96 221,96 222,95 223,95 224,94 225,94 226,94 227,93 228,93 │
23:19:11 #2118 [Debug] > │ 229,93 230,92 231,92 232,92 233,91 234,91 235,91 236,91 237,90 238,90 239,90 │
23:19:11 #2119 [Debug] > │ 240,89 241,89 242,89 243,89 244,89 245,88 246,88 247,88 248,88 249,88 250,87 │
23:19:11 #2120 [Debug] > │ 251,87 252,87 253,87 254,87 255,87 256,86 257,86 258,86 259,86 260,86 261,86 │
23:19:11 #2121 [Debug] > │ 262,86 263,86 264,86 265,86 266,86 267,86 268,85 269,85 270,85 271,85 272,85 │
23:19:11 #2122 [Debug] > │ 273,85 274,85 275,85 276,85 277,85 278,85 279,86 280,86 281,86 282,86 283,86 │
23:19:11 #2123 [Debug] > │ 284,86 285,86 286,86 287,86 288,86 289,86 290,86 291,87 292,87 293,87 294,87 │
23:19:11 #2124 [Debug] > │ 295,87 296,87 297,88 298,88 299,88 300,88 301,88 302,89 303,89 304,89 305,89 │
23:19:11 #2125 [Debug] > │ 306,89 307,90 308,90 309,90 310,91 311,91 312,91 313,91 314,92 315,92 316,92 │
23:19:11 #2126 [Debug] > │ 317,93 318,93 319,93 320,94 321,94 322,94 323,95 324,95 325,96 326,96 327,96 │
23:19:11 #2127 [Debug] > │ 328,97 329,97 330,98 331,98 332,98 333,99 334,99 335,100 336,100 337,101 │
23:19:11 #2128 [Debug] > │ 338,101 339,102 340,102 341,103 342,103 343,104 344,104 345,105 346,105 │
23:19:11 #2129 [Debug] > │ 347,106 348,106 349,107 350,108 351,108 352,109 353,109 354,110 355,111 │
23:19:11 #2130 [Debug] > │ 356,111 357,112 358,112 359,113 360,114 361,114 362,115 363,116 364,116 │
23:19:11 #2131 [Debug] > │ 365,117 366,118 367,119 368,119 369,120 370,121 371,121 372,122 373,123 │
23:19:11 #2132 [Debug] > │ 374,124 375,124 376,125 377,126 378,127 379,128 380,128 381,129 382,130 │
23:19:11 #2133 [Debug] > │ 383,131 384,132 385,132 386,133 387,134 388,135 389,136 390,137 391,138 │
23:19:11 #2134 [Debug] > │ 392,139 393,139 394,140 395,141 396,142 397,143 398,144 399,145 400,146 │
23:19:11 #2135 [Debug] > │ 401,147 402,148 403,149 404,150 405,151 406,152 407,153 408,154 409,155 │
23:19:11 #2136 [Debug] > │ 410,156 411,157 412,158 413,159 414,160 415,161 416,162 417,163 418,164 │
23:19:11 #2137 [Debug] > │ 419,165 420,167 421,168 422,169 423,170 424,171 425,172 426,173 427,174 │
23:19:11 #2138 [Debug] > │ 428,176 429,177 430,178 431,179 432,180 433,182 434,183 435,184 436,185 │
23:19:11 #2139 [Debug] > │ 437,186 438,188 439,189 440,190 441,191 442,193 443,194 444,195 445,197 │
23:19:11 #2140 [Debug] > │ 446,198 447,199 448,200 449,202 450,203 451,204 452,206 453,207 454,208 │
23:19:11 #2141 [Debug] > │ 455,210 456,211 457,213 458,214 459,215 460,217 461,218 462,220 463,221 │
23:19:11 #2142 [Debug] > │ 464,222 465,224 466,225 467,227 468,228 469,230 470,231 471,233 472,234 │
23:19:11 #2143 [Debug] > │ 473,236 474,237 475,239 476,240 477,242 478,243 479,245 480,246 481,248 │
23:19:11 #2144 [Debug] > │ 482,249 483,251 484,253 485,254 486,256 487,257 488,259 489,261 490,262 │
23:19:11 #2145 [Debug] > │ 491,264 492,266 493,267 494,269 495,271 496,272 497,274 498,276 499,277 │
23:19:11 #2146 [Debug] > │ 500,279 501,281 502,282 503,284 504,286 505,288 506,289 507,291 508,293 │
23:19:11 #2147 [Debug] > │ 509,295 510,296 511,298 512,300 513,302 514,304 515,305 516,307 517,309 │
23:19:11 #2148 [Debug] > │ 518,311 519,313 520,315 521,316 522,318 523,320 524,322 525,324 526,326 │
23:19:11 #2149 [Debug] > │ 527,328 528,330 529,332 530,334 531,335 532,337 533,339 534,341 535,343 │
23:19:11 #2150 [Debug] > │ 536,345 537,347 538,349 539,351 540,353 541,355 542,357 543,359 544,361 │
23:19:11 #2151 [Debug] > │ 545,363 546,365 547,367 548,370 549,372 550,374 551,376 552,378 553,380 │
23:19:11 #2152 [Debug] > │ 554,382 555,384 556,386 557,388 558,391 559,393 560,395 561,397 562,399 │
23:19:11 #2153 [Debug] > │ 563,401 564,404 565,406 566,408 567,410 568,412 569,415 "/> │
23:19:11 #2154 [Debug] > │ <rect x="399" y="235" width="181" height="30" opacity="1" fill="none" │
23:19:11 #2155 [Debug] > │ stroke="#FFFFFF"/> │
23:19:11 #2156 [Debug] > │ <text x="439" y="245" dy="0.76em" text-anchor="start" │
23:19:11 #2157 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:11 #2158 [Debug] > │ fill="#FFFFFF"> │
23:19:11 #2159 [Debug] > │ height of projectile (m) │
23:19:11 #2160 [Debug] > │ </text> │
23:19:11 #2161 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:11 #2162 [Debug] > │ points="409,250 429,250 "/> │
23:19:11 #2163 [Debug] > │ </svg> │
23:19:11 #2164 [Debug] > │ │
23:19:11 #2165 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:11 #2166 [Debug] >
23:19:11 #2167 [Debug] > ╭─[ 550.34ms - stdout ]────────────────────────────────────────────────────────╮
23:19:11 #2168 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:11 #2169 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:11 #2170 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:11 #2171 [Debug] > │ let v2 : bool = v1 < 501 │
23:19:11 #2172 [Debug] > │ v2 │
23:19:11 #2173 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:11 #2174 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:11 #2175 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:11 #2176 [Debug] > │ v3 │
23:19:11 #2177 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:11 #2178 [Debug] > │ []) * (float [])) [])) = │
23:19:11 #2179 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (501) │
23:19:11 #2180 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:11 #2181 [Debug] > │ while method1(v1) do │
23:19:11 #2182 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:11 #2183 [Debug] > │ let v4 : float = float v3 │
23:19:11 #2184 [Debug] > │ let v5 : float = 0.01 * v4 │
23:19:11 #2185 [Debug] > │ v0.[int v3] <- v5 │
23:19:11 #2186 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:11 #2187 [Debug] > │ v1.l0 <- v6 │
23:19:11 #2188 [Debug] > │ () │
23:19:11 #2189 [Debug] > │ let v7 : int32 = v0.Length │
23:19:11 #2190 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:11 #2191 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:11 #2192 [Debug] > │ while method2(v7, v9) do │
23:19:11 #2193 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:11 #2194 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:11 #2195 [Debug] > │ let v13 : float = 20.0 * v12 │
23:19:11 #2196 [Debug] > │ let v14 : float = v12 ** 2.0 │
23:19:11 #2197 [Debug] > │ let v15 : float = -9.8 * v14 │
23:19:11 #2198 [Debug] > │ let v16 : float = v15 / 2.0 │
23:19:11 #2199 [Debug] > │ let v17 : float = v13 + v16 │
23:19:11 #2200 [Debug] > │ v8.[int v11] <- v17 │
23:19:11 #2201 [Debug] > │ let v18 : int32 = v11 + 1 │
23:19:11 #2202 [Debug] > │ v9.l0 <- v18 │
23:19:11 #2203 [Debug] > │ () │
23:19:11 #2204 [Debug] > │ let v19 : string = "height of projectile (m)" │
23:19:11 #2205 [Debug] > │ let v20 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:11 #2206 [Debug] > │ (v19, v0, v8)|] │
23:19:11 #2207 [Debug] > │ let v21 : string = "projectile motion" │
23:19:11 #2208 [Debug] > │ let v22 : string = "time (s)" │
23:19:11 #2209 [Debug] > │ let v23 : string = "" │
23:19:11 #2210 [Debug] > │ struct (v21, v22, v23, v20) │
23:19:11 #2211 [Debug] > │ method0() │
23:19:11 #2212 [Debug] > │ │
23:19:11 #2213 [Debug] > │ │
23:19:11 #2214 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:11 #2215 [Debug] >
23:19:11 #2216 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:11 #2217 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:11 #2218 [Debug] > │ ## velocity_cf │
23:19:11 #2219 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:11 #2220 [Debug] >
23:19:11 #2221 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:11 #2222 [Debug] > type mass = f64
23:19:11 #2223 [Debug] > type time = f64
23:19:11 #2224 [Debug] > type position = f64
23:19:11 #2225 [Debug] > type velocity = f64
23:19:11 #2226 [Debug] > type force = f64
23:19:11 #2227 [Debug] >
23:19:11 #2228 [Debug] > type velocity_cf = mass -> velocity -> list force -> (time -> velocity)
23:19:11 #2229 [Debug] >
23:19:11 #2230 [Debug] > inl velocity_cf m v0 fs =
23:19:11 #2231 [Debug] > inl f_net = fs |> listm'.sum
23:19:11 #2232 [Debug] > inl a0 = f_net / m
23:19:11 #2233 [Debug] > inl v t = v0 + a0 * t
23:19:11 #2234 [Debug] > v
23:19:11 #2235 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1165-6567-690c453e4b60\main.spi
23:19:11 #2236 [Debug] >
23:19:11 #2237 [Debug] > ╭─[ 150.70ms - stdout ]────────────────────────────────────────────────────────╮
23:19:11 #2238 [Debug] > │ () │
23:19:11 #2239 [Debug] > │ │
23:19:11 #2240 [Debug] > │ │
23:19:11 #2241 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:11 #2242 [Debug] >
23:19:11 #2243 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:11 #2244 [Debug] > // // test
23:19:11 #2245 [Debug] >
23:19:11 #2246 [Debug] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 0
23:19:11 #2247 [Debug] > |> _equal 0.6
23:19:11 #2248 [Debug] >
23:19:11 #2249 [Debug] > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 1
23:19:11 #2250 [Debug] > |> _equal 0.2
23:19:11 #2251 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1180-8090-8242751a1616\main.spi
23:19:12 #2252 [Debug] >
23:19:12 #2253 [Debug] > ╭─[ 214.71ms - stdout ]────────────────────────────────────────────────────────╮
23:19:12 #2254 [Debug] > │ let rec method0 () : unit = │
23:19:12 #2255 [Debug] > │ let v0 : string = $"_equal / actual: %A{0.6} / expected: %A{0.6}" │
23:19:12 #2256 [Debug] > │ let v1 : string = $"_equal / actual: %A{0.2} / expected: %A{0.2}" │
23:19:12 #2257 [Debug] > │ () │
23:19:12 #2258 [Debug] > │ method0() │
23:19:12 #2259 [Debug] > │ │
23:19:12 #2260 [Debug] > │ │
23:19:12 #2261 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2262 [Debug] >
23:19:12 #2263 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:12 #2264 [Debug] > // // test
23:19:12 #2265 [Debug] >
23:19:12 #2266 [Debug] > inl x = am'.init_series 0 4 0.1
23:19:12 #2267 [Debug] > inl y = x |> am.map (velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]])
23:19:12 #2268 [Debug] > "car on an air track", "time (s)", "", ;[[ "velocity of car (m/s)", x, y ]]
23:19:12 #2269 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1202-0288-0320f301141a\main.spi
23:19:12 #2270 [Debug] >
23:19:12 #2271 [Debug] > ╭─[ 200.07ms - return value ]──────────────────────────────────────────────────╮
23:19:12 #2272 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:12 #2273 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:12 #2274 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:12 #2275 [Debug] > │ stroke="none"/> │
23:19:12 #2276 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:12 #2277 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2278 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2279 [Debug] > │ car on an air track │
23:19:12 #2280 [Debug] > │ </text> │
23:19:12 #2281 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │
23:19:12 #2282 [Debug] > │ y2="75"/> │
23:19:12 #2283 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:12 #2284 [Debug] > │ y2="75"/> │
23:19:12 #2285 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │
23:19:12 #2286 [Debug] > │ y2="75"/> │
23:19:12 #2287 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
23:19:12 #2288 [Debug] > │ y2="75"/> │
23:19:12 #2289 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │
23:19:12 #2290 [Debug] > │ x2="107" y2="75"/> │
23:19:12 #2291 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:12 #2292 [Debug] > │ x2="119" y2="75"/> │
23:19:12 #2293 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424" │
23:19:12 #2294 [Debug] > │ x2="132" y2="75"/> │
23:19:12 #2295 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
23:19:12 #2296 [Debug] > │ x2="144" y2="75"/> │
23:19:12 #2297 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424" │
23:19:12 #2298 [Debug] > │ x2="157" y2="75"/> │
23:19:12 #2299 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:12 #2300 [Debug] > │ x2="169" y2="75"/> │
23:19:12 #2301 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424" │
23:19:12 #2302 [Debug] > │ x2="182" y2="75"/> │
23:19:12 #2303 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
23:19:12 #2304 [Debug] > │ x2="194" y2="75"/> │
23:19:12 #2305 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424" │
23:19:12 #2306 [Debug] > │ x2="207" y2="75"/> │
23:19:12 #2307 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:12 #2308 [Debug] > │ x2="219" y2="75"/> │
23:19:12 #2309 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="232" y1="424" │
23:19:12 #2310 [Debug] > │ x2="232" y2="75"/> │
23:19:12 #2311 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424" │
23:19:12 #2312 [Debug] > │ x2="244" y2="75"/> │
23:19:12 #2313 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="257" y1="424" │
23:19:12 #2314 [Debug] > │ x2="257" y2="75"/> │
23:19:12 #2315 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:12 #2316 [Debug] > │ x2="269" y2="75"/> │
23:19:12 #2317 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="282" y1="424" │
23:19:12 #2318 [Debug] > │ x2="282" y2="75"/> │
23:19:12 #2319 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424" │
23:19:12 #2320 [Debug] > │ x2="294" y2="75"/> │
23:19:12 #2321 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424" │
23:19:12 #2322 [Debug] > │ x2="307" y2="75"/> │
23:19:12 #2323 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:12 #2324 [Debug] > │ x2="319" y2="75"/> │
23:19:12 #2325 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424" │
23:19:12 #2326 [Debug] > │ x2="331" y2="75"/> │
23:19:12 #2327 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424" │
23:19:12 #2328 [Debug] > │ x2="344" y2="75"/> │
23:19:12 #2329 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="356" y1="424" │
23:19:12 #2330 [Debug] > │ x2="356" y2="75"/> │
23:19:12 #2331 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:12 #2332 [Debug] > │ x2="369" y2="75"/> │
23:19:12 #2333 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="381" y1="424" │
23:19:12 #2334 [Debug] > │ x2="381" y2="75"/> │
23:19:12 #2335 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424" │
23:19:12 #2336 [Debug] > │ x2="394" y2="75"/> │
23:19:12 #2337 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="406" y1="424" │
23:19:12 #2338 [Debug] > │ x2="406" y2="75"/> │
23:19:12 #2339 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:12 #2340 [Debug] > │ x2="419" y2="75"/> │
23:19:12 #2341 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="431" y1="424" │
23:19:12 #2342 [Debug] > │ x2="431" y2="75"/> │
23:19:12 #2343 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424" │
23:19:12 #2344 [Debug] > │ x2="444" y2="75"/> │
23:19:12 #2345 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="456" y1="424" │
23:19:12 #2346 [Debug] > │ x2="456" y2="75"/> │
23:19:12 #2347 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:12 #2348 [Debug] > │ x2="469" y2="75"/> │
23:19:12 #2349 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="481" y1="424" │
23:19:12 #2350 [Debug] > │ x2="481" y2="75"/> │
23:19:12 #2351 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424" │
23:19:12 #2352 [Debug] > │ x2="494" y2="75"/> │
23:19:12 #2353 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="506" y1="424" │
23:19:12 #2354 [Debug] > │ x2="506" y2="75"/> │
23:19:12 #2355 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:12 #2356 [Debug] > │ x2="519" y2="75"/> │
23:19:12 #2357 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="531" y1="424" │
23:19:12 #2358 [Debug] > │ x2="531" y2="75"/> │
23:19:12 #2359 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424" │
23:19:12 #2360 [Debug] > │ x2="544" y2="75"/> │
23:19:12 #2361 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="556" y1="424" │
23:19:12 #2362 [Debug] > │ x2="556" y2="75"/> │
23:19:12 #2363 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:12 #2364 [Debug] > │ x2="569" y2="75"/> │
23:19:12 #2365 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:12 #2366 [Debug] > │ x2="584" y2="415"/> │
23:19:12 #2367 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404" │
23:19:12 #2368 [Debug] > │ x2="584" y2="404"/> │
23:19:12 #2369 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="394" │
23:19:12 #2370 [Debug] > │ x2="584" y2="394"/> │
23:19:12 #2371 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="384" │
23:19:12 #2372 [Debug] > │ x2="584" y2="384"/> │
23:19:12 #2373 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="373" │
23:19:12 #2374 [Debug] > │ x2="584" y2="373"/> │
23:19:12 #2375 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="363" │
23:19:12 #2376 [Debug] > │ x2="584" y2="363"/> │
23:19:12 #2377 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="353" │
23:19:12 #2378 [Debug] > │ x2="584" y2="353"/> │
23:19:12 #2379 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="343" │
23:19:12 #2380 [Debug] > │ x2="584" y2="343"/> │
23:19:12 #2381 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332" │
23:19:12 #2382 [Debug] > │ x2="584" y2="332"/> │
23:19:12 #2383 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="322" │
23:19:12 #2384 [Debug] > │ x2="584" y2="322"/> │
23:19:12 #2385 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="312" │
23:19:12 #2386 [Debug] > │ x2="584" y2="312"/> │
23:19:12 #2387 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="301" │
23:19:12 #2388 [Debug] > │ x2="584" y2="301"/> │
23:19:12 #2389 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="291" │
23:19:12 #2390 [Debug] > │ x2="584" y2="291"/> │
23:19:12 #2391 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="281" │
23:19:12 #2392 [Debug] > │ x2="584" y2="281"/> │
23:19:12 #2393 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="271" │
23:19:12 #2394 [Debug] > │ x2="584" y2="271"/> │
23:19:12 #2395 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="260" │
23:19:12 #2396 [Debug] > │ x2="584" y2="260"/> │
23:19:12 #2397 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:12 #2398 [Debug] > │ x2="584" y2="250"/> │
23:19:12 #2399 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="240" │
23:19:12 #2400 [Debug] > │ x2="584" y2="240"/> │
23:19:12 #2401 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="229" │
23:19:12 #2402 [Debug] > │ x2="584" y2="229"/> │
23:19:12 #2403 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="219" │
23:19:12 #2404 [Debug] > │ x2="584" y2="219"/> │
23:19:12 #2405 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="209" │
23:19:12 #2406 [Debug] > │ x2="584" y2="209"/> │
23:19:12 #2407 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="199" │
23:19:12 #2408 [Debug] > │ x2="584" y2="199"/> │
23:19:12 #2409 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="188" │
23:19:12 #2410 [Debug] > │ x2="584" y2="188"/> │
23:19:12 #2411 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="178" │
23:19:12 #2412 [Debug] > │ x2="584" y2="178"/> │
23:19:12 #2413 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168" │
23:19:12 #2414 [Debug] > │ x2="584" y2="168"/> │
23:19:12 #2415 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="157" │
23:19:12 #2416 [Debug] > │ x2="584" y2="157"/> │
23:19:12 #2417 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="147" │
23:19:12 #2418 [Debug] > │ x2="584" y2="147"/> │
23:19:12 #2419 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137" │
23:19:12 #2420 [Debug] > │ x2="584" y2="137"/> │
23:19:12 #2421 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="127" │
23:19:12 #2422 [Debug] > │ x2="584" y2="127"/> │
23:19:12 #2423 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="116" │
23:19:12 #2424 [Debug] > │ x2="584" y2="116"/> │
23:19:12 #2425 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106" │
23:19:12 #2426 [Debug] > │ x2="584" y2="106"/> │
23:19:12 #2427 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="96" x2="584" │
23:19:12 #2428 [Debug] > │ y2="96"/> │
23:19:12 #2429 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:12 #2430 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2431 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2432 [Debug] > │ time (s) │
23:19:12 #2433 [Debug] > │ </text> │
23:19:12 #2434 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:12 #2435 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2436 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:12 #2437 [Debug] > │ │
23:19:12 #2438 [Debug] > │ </text> │
23:19:12 #2439 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2440 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2441 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2442 [Debug] > │ time (s) │
23:19:12 #2443 [Debug] > │ </text> │
23:19:12 #2444 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:12 #2445 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2446 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:12 #2447 [Debug] > │ │
23:19:12 #2448 [Debug] > │ </text> │
23:19:12 #2449 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:12 #2450 [Debug] > │ y2="75"/> │
23:19:12 #2451 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="132" y1="424" │
23:19:12 #2452 [Debug] > │ x2="132" y2="75"/> │
23:19:12 #2453 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="194" y1="424" │
23:19:12 #2454 [Debug] > │ x2="194" y2="75"/> │
23:19:12 #2455 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="257" y1="424" │
23:19:12 #2456 [Debug] > │ x2="257" y2="75"/> │
23:19:12 #2457 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:12 #2458 [Debug] > │ x2="319" y2="75"/> │
23:19:12 #2459 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="381" y1="424" │
23:19:12 #2460 [Debug] > │ x2="381" y2="75"/> │
23:19:12 #2461 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="444" y1="424" │
23:19:12 #2462 [Debug] > │ x2="444" y2="75"/> │
23:19:12 #2463 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="506" y1="424" │
23:19:12 #2464 [Debug] > │ x2="506" y2="75"/> │
23:19:12 #2465 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:12 #2466 [Debug] > │ x2="569" y2="75"/> │
23:19:12 #2467 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:12 #2468 [Debug] > │ x2="584" y2="415"/> │
23:19:12 #2469 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="373" │
23:19:12 #2470 [Debug] > │ x2="584" y2="373"/> │
23:19:12 #2471 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332" │
23:19:12 #2472 [Debug] > │ x2="584" y2="332"/> │
23:19:12 #2473 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="291" │
23:19:12 #2474 [Debug] > │ x2="584" y2="291"/> │
23:19:12 #2475 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250" │
23:19:12 #2476 [Debug] > │ x2="584" y2="250"/> │
23:19:12 #2477 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="209" │
23:19:12 #2478 [Debug] > │ x2="584" y2="209"/> │
23:19:12 #2479 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="168" │
23:19:12 #2480 [Debug] > │ x2="584" y2="168"/> │
23:19:12 #2481 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="127" │
23:19:12 #2482 [Debug] > │ x2="584" y2="127"/> │
23:19:12 #2483 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:12 #2484 [Debug] > │ y2="85"/> │
23:19:12 #2485 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2486 [Debug] > │ points="55,74 584,74 "/> │
23:19:12 #2487 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2488 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2489 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2490 [Debug] > │ 0.0 │
23:19:12 #2491 [Debug] > │ </text> │
23:19:12 #2492 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2493 [Debug] > │ points="69,69 69,74 "/> │
23:19:12 #2494 [Debug] > │ <text x="132" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2495 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2496 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2497 [Debug] > │ 0.5 │
23:19:12 #2498 [Debug] > │ </text> │
23:19:12 #2499 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2500 [Debug] > │ points="132,69 132,74 "/> │
23:19:12 #2501 [Debug] > │ <text x="194" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2502 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2503 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2504 [Debug] > │ 1.0 │
23:19:12 #2505 [Debug] > │ </text> │
23:19:12 #2506 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2507 [Debug] > │ points="194,69 194,74 "/> │
23:19:12 #2508 [Debug] > │ <text x="257" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2509 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2510 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2511 [Debug] > │ 1.5 │
23:19:12 #2512 [Debug] > │ </text> │
23:19:12 #2513 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2514 [Debug] > │ points="257,69 257,74 "/> │
23:19:12 #2515 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2516 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2517 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2518 [Debug] > │ 2.0 │
23:19:12 #2519 [Debug] > │ </text> │
23:19:12 #2520 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2521 [Debug] > │ points="319,69 319,74 "/> │
23:19:12 #2522 [Debug] > │ <text x="381" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2523 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2524 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2525 [Debug] > │ 2.5 │
23:19:12 #2526 [Debug] > │ </text> │
23:19:12 #2527 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2528 [Debug] > │ points="381,69 381,74 "/> │
23:19:12 #2529 [Debug] > │ <text x="444" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2530 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2531 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2532 [Debug] > │ 3.0 │
23:19:12 #2533 [Debug] > │ </text> │
23:19:12 #2534 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2535 [Debug] > │ points="444,69 444,74 "/> │
23:19:12 #2536 [Debug] > │ <text x="506" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2537 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2538 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2539 [Debug] > │ 3.5 │
23:19:12 #2540 [Debug] > │ </text> │
23:19:12 #2541 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2542 [Debug] > │ points="506,69 506,74 "/> │
23:19:12 #2543 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:12 #2544 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2545 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2546 [Debug] > │ 4.0 │
23:19:12 #2547 [Debug] > │ </text> │
23:19:12 #2548 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2549 [Debug] > │ points="569,69 569,74 "/> │
23:19:12 #2550 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2551 [Debug] > │ points="54,75 54,424 "/> │
23:19:12 #2552 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2553 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2554 [Debug] > │ -1.0 │
23:19:12 #2555 [Debug] > │ </text> │
23:19:12 #2556 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2557 [Debug] > │ points="49,415 54,415 "/> │
23:19:12 #2558 [Debug] > │ <text x="45" y="373" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2559 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2560 [Debug] > │ -0.8 │
23:19:12 #2561 [Debug] > │ </text> │
23:19:12 #2562 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2563 [Debug] > │ points="49,373 54,373 "/> │
23:19:12 #2564 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2565 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2566 [Debug] > │ -0.6 │
23:19:12 #2567 [Debug] > │ </text> │
23:19:12 #2568 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2569 [Debug] > │ points="49,332 54,332 "/> │
23:19:12 #2570 [Debug] > │ <text x="45" y="291" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2571 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2572 [Debug] > │ -0.4 │
23:19:12 #2573 [Debug] > │ </text> │
23:19:12 #2574 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2575 [Debug] > │ points="49,291 54,291 "/> │
23:19:12 #2576 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2577 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2578 [Debug] > │ -0.2 │
23:19:12 #2579 [Debug] > │ </text> │
23:19:12 #2580 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2581 [Debug] > │ points="49,250 54,250 "/> │
23:19:12 #2582 [Debug] > │ <text x="45" y="209" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2583 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2584 [Debug] > │ -0.0 │
23:19:12 #2585 [Debug] > │ </text> │
23:19:12 #2586 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2587 [Debug] > │ points="49,209 54,209 "/> │
23:19:12 #2588 [Debug] > │ <text x="45" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2589 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2590 [Debug] > │ 0.2 │
23:19:12 #2591 [Debug] > │ </text> │
23:19:12 #2592 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2593 [Debug] > │ points="49,168 54,168 "/> │
23:19:12 #2594 [Debug] > │ <text x="45" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2595 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2596 [Debug] > │ 0.4 │
23:19:12 #2597 [Debug] > │ </text> │
23:19:12 #2598 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2599 [Debug] > │ points="49,127 54,127 "/> │
23:19:12 #2600 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2601 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2602 [Debug] > │ 0.6 │
23:19:12 #2603 [Debug] > │ </text> │
23:19:12 #2604 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2605 [Debug] > │ points="49,85 54,85 "/> │
23:19:12 #2606 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2607 [Debug] > │ points="55,425 584,425 "/> │
23:19:12 #2608 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2609 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2610 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2611 [Debug] > │ 0.0 │
23:19:12 #2612 [Debug] > │ </text> │
23:19:12 #2613 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2614 [Debug] > │ points="69,425 69,430 "/> │
23:19:12 #2615 [Debug] > │ <text x="132" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2616 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2617 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2618 [Debug] > │ 0.5 │
23:19:12 #2619 [Debug] > │ </text> │
23:19:12 #2620 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2621 [Debug] > │ points="132,425 132,430 "/> │
23:19:12 #2622 [Debug] > │ <text x="194" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2623 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2624 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2625 [Debug] > │ 1.0 │
23:19:12 #2626 [Debug] > │ </text> │
23:19:12 #2627 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2628 [Debug] > │ points="194,425 194,430 "/> │
23:19:12 #2629 [Debug] > │ <text x="257" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2630 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2631 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2632 [Debug] > │ 1.5 │
23:19:12 #2633 [Debug] > │ </text> │
23:19:12 #2634 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2635 [Debug] > │ points="257,425 257,430 "/> │
23:19:12 #2636 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2637 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2638 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2639 [Debug] > │ 2.0 │
23:19:12 #2640 [Debug] > │ </text> │
23:19:12 #2641 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2642 [Debug] > │ points="319,425 319,430 "/> │
23:19:12 #2643 [Debug] > │ <text x="381" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2644 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2645 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2646 [Debug] > │ 2.5 │
23:19:12 #2647 [Debug] > │ </text> │
23:19:12 #2648 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2649 [Debug] > │ points="381,425 381,430 "/> │
23:19:12 #2650 [Debug] > │ <text x="444" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2651 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2652 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2653 [Debug] > │ 3.0 │
23:19:12 #2654 [Debug] > │ </text> │
23:19:12 #2655 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2656 [Debug] > │ points="444,425 444,430 "/> │
23:19:12 #2657 [Debug] > │ <text x="506" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2658 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2659 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2660 [Debug] > │ 3.5 │
23:19:12 #2661 [Debug] > │ </text> │
23:19:12 #2662 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2663 [Debug] > │ points="506,425 506,430 "/> │
23:19:12 #2664 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:12 #2665 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2666 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2667 [Debug] > │ 4.0 │
23:19:12 #2668 [Debug] > │ </text> │
23:19:12 #2669 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2670 [Debug] > │ points="569,425 569,430 "/> │
23:19:12 #2671 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2672 [Debug] > │ points="585,75 585,424 "/> │
23:19:12 #2673 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start" │
23:19:12 #2674 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2675 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2676 [Debug] > │ -1.0 │
23:19:12 #2677 [Debug] > │ </text> │
23:19:12 #2678 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2679 [Debug] > │ points="585,415 590,415 "/> │
23:19:12 #2680 [Debug] > │ <text x="595" y="373" dy="0.5ex" text-anchor="start" │
23:19:12 #2681 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2682 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2683 [Debug] > │ -0.8 │
23:19:12 #2684 [Debug] > │ </text> │
23:19:12 #2685 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2686 [Debug] > │ points="585,373 590,373 "/> │
23:19:12 #2687 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start" │
23:19:12 #2688 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2689 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2690 [Debug] > │ -0.6 │
23:19:12 #2691 [Debug] > │ </text> │
23:19:12 #2692 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2693 [Debug] > │ points="585,332 590,332 "/> │
23:19:12 #2694 [Debug] > │ <text x="595" y="291" dy="0.5ex" text-anchor="start" │
23:19:12 #2695 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2696 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2697 [Debug] > │ -0.4 │
23:19:12 #2698 [Debug] > │ </text> │
23:19:12 #2699 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2700 [Debug] > │ points="585,291 590,291 "/> │
23:19:12 #2701 [Debug] > │ <text x="595" y="250" dy="0.5ex" text-anchor="start" │
23:19:12 #2702 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2703 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2704 [Debug] > │ -0.2 │
23:19:12 #2705 [Debug] > │ </text> │
23:19:12 #2706 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2707 [Debug] > │ points="585,250 590,250 "/> │
23:19:12 #2708 [Debug] > │ <text x="595" y="209" dy="0.5ex" text-anchor="start" │
23:19:12 #2709 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2710 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2711 [Debug] > │ -0.0 │
23:19:12 #2712 [Debug] > │ </text> │
23:19:12 #2713 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2714 [Debug] > │ points="585,209 590,209 "/> │
23:19:12 #2715 [Debug] > │ <text x="617" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2716 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2717 [Debug] > │ 0.2 │
23:19:12 #2718 [Debug] > │ </text> │
23:19:12 #2719 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2720 [Debug] > │ points="585,168 590,168 "/> │
23:19:12 #2721 [Debug] > │ <text x="617" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2722 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2723 [Debug] > │ 0.4 │
23:19:12 #2724 [Debug] > │ </text> │
23:19:12 #2725 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2726 [Debug] > │ points="585,127 590,127 "/> │
23:19:12 #2727 [Debug] > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:12 #2728 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:12 #2729 [Debug] > │ 0.6 │
23:19:12 #2730 [Debug] > │ </text> │
23:19:12 #2731 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:12 #2732 [Debug] > │ points="585,85 590,85 "/> │
23:19:12 #2733 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:12 #2734 [Debug] > │ points="69,85 82,94 94,102 107,110 119,118 132,127 144,135 157,143 169,151 │
23:19:12 #2735 [Debug] > │ 182,159 194,168 207,176 219,184 232,192 244,201 257,209 269,217 282,225 │
23:19:12 #2736 [Debug] > │ 294,234 307,242 319,250 331,258 344,266 356,275 369,283 381,291 394,299 │
23:19:12 #2737 [Debug] > │ 406,308 419,316 431,324 444,332 456,341 469,349 481,357 494,365 506,373 │
23:19:12 #2738 [Debug] > │ 519,382 531,390 544,398 556,406 569,415 "/> │
23:19:12 #2739 [Debug] > │ <rect x="415" y="235" width="165" height="30" opacity="1" fill="none" │
23:19:12 #2740 [Debug] > │ stroke="#FFFFFF"/> │
23:19:12 #2741 [Debug] > │ <text x="455" y="245" dy="0.76em" text-anchor="start" │
23:19:12 #2742 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:12 #2743 [Debug] > │ fill="#FFFFFF"> │
23:19:12 #2744 [Debug] > │ velocity of car (m/s) │
23:19:12 #2745 [Debug] > │ </text> │
23:19:12 #2746 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:12 #2747 [Debug] > │ points="425,250 445,250 "/> │
23:19:12 #2748 [Debug] > │ </svg> │
23:19:12 #2749 [Debug] > │ │
23:19:12 #2750 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2751 [Debug] >
23:19:12 #2752 [Debug] > ╭─[ 497.91ms - stdout ]────────────────────────────────────────────────────────╮
23:19:12 #2753 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:12 #2754 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:12 #2755 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:12 #2756 [Debug] > │ let v2 : bool = v1 < 41 │
23:19:12 #2757 [Debug] > │ v2 │
23:19:12 #2758 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:12 #2759 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:12 #2760 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:12 #2761 [Debug] > │ v3 │
23:19:12 #2762 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:12 #2763 [Debug] > │ []) * (float [])) [])) = │
23:19:12 #2764 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (41) │
23:19:12 #2765 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:12 #2766 [Debug] > │ while method1(v1) do │
23:19:12 #2767 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:12 #2768 [Debug] > │ let v4 : float = float v3 │
23:19:12 #2769 [Debug] > │ let v5 : float = 0.1 * v4 │
23:19:12 #2770 [Debug] > │ v0.[int v3] <- v5 │
23:19:12 #2771 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:12 #2772 [Debug] > │ v1.l0 <- v6 │
23:19:12 #2773 [Debug] > │ () │
23:19:12 #2774 [Debug] > │ let v7 : int32 = v0.Length │
23:19:12 #2775 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:12 #2776 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:12 #2777 [Debug] > │ while method2(v7, v9) do │
23:19:12 #2778 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:12 #2779 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:12 #2780 [Debug] > │ let v13 : float = -0.39999999999999997 * v12 │
23:19:12 #2781 [Debug] > │ let v14 : float = 0.6 + v13 │
23:19:12 #2782 [Debug] > │ v8.[int v11] <- v14 │
23:19:12 #2783 [Debug] > │ let v15 : int32 = v11 + 1 │
23:19:12 #2784 [Debug] > │ v9.l0 <- v15 │
23:19:12 #2785 [Debug] > │ () │
23:19:12 #2786 [Debug] > │ let v16 : string = "velocity of car (m/s)" │
23:19:12 #2787 [Debug] > │ let v17 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:12 #2788 [Debug] > │ (v16, v0, v8)|] │
23:19:12 #2789 [Debug] > │ let v18 : string = "car on an air track" │
23:19:12 #2790 [Debug] > │ let v19 : string = "time (s)" │
23:19:12 #2791 [Debug] > │ let v20 : string = "" │
23:19:12 #2792 [Debug] > │ struct (v18, v19, v20, v17) │
23:19:12 #2793 [Debug] > │ method0() │
23:19:12 #2794 [Debug] > │ │
23:19:12 #2795 [Debug] > │ │
23:19:12 #2796 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2797 [Debug] >
23:19:12 #2798 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:12 #2799 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:12 #2800 [Debug] > │ ## derivative │
23:19:12 #2801 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2802 [Debug] >
23:19:12 #2803 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:12 #2804 [Debug] > type derivative = (f64 -> f64) -> f64 -> f64
23:19:12 #2805 [Debug] >
23:19:12 #2806 [Debug] > inl derivative dt : derivative =
23:19:12 #2807 [Debug] > fun x t =>
23:19:12 #2808 [Debug] > (x (t + dt / 2) - x (t - dt / 2)) / dt
23:19:12 #2809 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1255-5594-525a8fd83e48\main.spi
23:19:12 #2810 [Debug] >
23:19:12 #2811 [Debug] > ╭─[ 160.97ms - stdout ]────────────────────────────────────────────────────────╮
23:19:12 #2812 [Debug] > │ () │
23:19:12 #2813 [Debug] > │ │
23:19:12 #2814 [Debug] > │ │
23:19:12 #2815 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2816 [Debug] >
23:19:12 #2817 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:12 #2818 [Debug] > // // test
23:19:12 #2819 [Debug] >
23:19:12 #2820 [Debug] > derivative 1 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2821 [Debug] > |> _almost_equal 0.25
23:19:12 #2822 [Debug] >
23:19:12 #2823 [Debug] > derivative 0.001 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2824 [Debug] > |> _almost_equal 0.0000002499998827953931
23:19:12 #2825 [Debug] >
23:19:12 #2826 [Debug] > derivative 0.000001 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2827 [Debug] > |> _almost_equal 0.000000000001000088900582341
23:19:12 #2828 [Debug] >
23:19:12 #2829 [Debug] > derivative 0.000000001 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2830 [Debug] > |> _almost_equal 0.00000008274037099909037
23:19:12 #2831 [Debug] >
23:19:12 #2832 [Debug] > derivative 0.000000000001 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2833 [Debug] > |> _almost_equal 0.00008890058234101161
23:19:12 #2834 [Debug] >
23:19:12 #2835 [Debug] > derivative 0.000000000000001 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2836 [Debug] > |> _almost_equal -0.0007992778373592246
23:19:12 #2837 [Debug] >
23:19:12 #2838 [Debug] > derivative 0.000000000000000001 (fun x => x ** 4 / 4) 1 - 1
23:19:12 #2839 [Debug] > |> _almost_equal -1
23:19:12 #2840 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1272-7213-7983d19d66bd\main.spi
23:19:12 #2841 [Debug] >
23:19:12 #2842 [Debug] > ╭─[ 182.48ms - stdout ]────────────────────────────────────────────────────────╮
23:19:12 #2843 [Debug] > │ let rec method0 () : unit = │
23:19:12 #2844 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{0.25} / expected: │
23:19:12 #2845 [Debug] > │ %A{0.25}" │
23:19:12 #2846 [Debug] > │ let v1 : string = $"_almost_equal / actual: %A{2.499998827953931E-07} / │
23:19:12 #2847 [Debug] > │ expected: %A{2.499998827953931E-07}" │
23:19:12 #2848 [Debug] > │ let v2 : string = $"_almost_equal / actual: %A{1.000088900582341E-12} / │
23:19:12 #2849 [Debug] > │ expected: %A{1.000088900582341E-12}" │
23:19:12 #2850 [Debug] > │ let v3 : string = $"_almost_equal / actual: %A{8.274037099909037E-08} / │
23:19:12 #2851 [Debug] > │ expected: %A{8.274037099909037E-08}" │
23:19:12 #2852 [Debug] > │ let v4 : string = $"_almost_equal / actual: %A{8.890058234101161E-05} / │
23:19:12 #2853 [Debug] > │ expected: %A{8.890058234101161E-05}" │
23:19:12 #2854 [Debug] > │ let v5 : string = $"_almost_equal / actual: %A{-0.0007992778373592246} / │
23:19:12 #2855 [Debug] > │ expected: %A{-0.0007992778373592246}" │
23:19:12 #2856 [Debug] > │ let v6 : string = $"_almost_equal / actual: %A{-1.0} / expected: │
23:19:12 #2857 [Debug] > │ %A{-1.0}" │
23:19:12 #2858 [Debug] > │ () │
23:19:12 #2859 [Debug] > │ method0() │
23:19:12 #2860 [Debug] > │ │
23:19:12 #2861 [Debug] > │ │
23:19:12 #2862 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2863 [Debug] >
23:19:12 #2864 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:12 #2865 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:12 #2866 [Debug] > │ ## integration │
23:19:12 #2867 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:12 #2868 [Debug] >
23:19:12 #2869 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:12 #2870 [Debug] > type integration = (f64 -> f64) -> f64 -> f64 -> f64
23:19:12 #2871 [Debug] >
23:19:12 #2872 [Debug] > inl integral dt : integration =
23:19:12 #2873 [Debug] > fun f a b =>
23:19:12 #2874 [Debug] > inl rec loop t y =
23:19:12 #2875 [Debug] > if t < b
23:19:12 #2876 [Debug] > then loop (t + dt) (y + f t * dt)
23:19:12 #2877 [Debug] > else t, y
23:19:12 #2878 [Debug] > loop (a + dt / 2) 0
23:19:12 #2879 [Debug] > |> snd
23:19:13 #2880 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1291-9139-9501da67c39e\main.spi
23:19:13 #2881 [Debug] >
23:19:13 #2882 [Debug] > ╭─[ 193.55ms - stdout ]────────────────────────────────────────────────────────╮
23:19:13 #2883 [Debug] > │ () │
23:19:13 #2884 [Debug] > │ │
23:19:13 #2885 [Debug] > │ │
23:19:13 #2886 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:13 #2887 [Debug] >
23:19:13 #2888 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:13 #2889 [Debug] > // // test
23:19:13 #2890 [Debug] >
23:19:13 #2891 [Debug] > integral 0.01 math.square 0 1
23:19:13 #2892 [Debug] > |> _almost_equal 0.33332500000000004
23:19:13 #2893 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1311-1102-16247754259c\main.spi
23:19:13 #2894 [Debug] >
23:19:13 #2895 [Debug] > ╭─[ 147.38ms - stdout ]────────────────────────────────────────────────────────╮
23:19:13 #2896 [Debug] > │ let rec method0 () : unit = │
23:19:13 #2897 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{0.3333250000000004} / │
23:19:13 #2898 [Debug] > │ expected: %A{0.33332500000000004}" │
23:19:13 #2899 [Debug] > │ () │
23:19:13 #2900 [Debug] > │ method0() │
23:19:13 #2901 [Debug] > │ │
23:19:13 #2902 [Debug] > │ │
23:19:13 #2903 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:13 #2904 [Debug] >
23:19:13 #2905 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:13 #2906 [Debug] > inl integral' dt : integration =
23:19:13 #2907 [Debug] > fun f a b =>
23:19:13 #2908 [Debug] > listm'.init_series (a + dt / 2) (b - dt / 2) dt
23:19:13 #2909 [Debug] > |> listm.map (f >> (*) dt)
23:19:13 #2910 [Debug] > |> listm'.sum
23:19:13 #2911 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1326-2625-2cec8788b16d\main.spi
23:19:13 #2912 [Debug] >
23:19:13 #2913 [Debug] > ╭─[ 183.44ms - stdout ]────────────────────────────────────────────────────────╮
23:19:13 #2914 [Debug] > │ () │
23:19:13 #2915 [Debug] > │ │
23:19:13 #2916 [Debug] > │ │
23:19:13 #2917 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:13 #2918 [Debug] >
23:19:13 #2919 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:13 #2920 [Debug] > // // test
23:19:13 #2921 [Debug] >
23:19:13 #2922 [Debug] > integral' 0.1 math.square 0 1
23:19:13 #2923 [Debug] > |> _almost_equal (integral 0.1 math.square 0 1)
23:19:13 #2924 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1344-4498-4138b6d2b16c\main.spi
23:19:13 #2925 [Debug] >
23:19:13 #2926 [Debug] > ╭─[ 186.18ms - stdout ]────────────────────────────────────────────────────────╮
23:19:13 #2927 [Debug] > │ let rec method0 () : unit = │
23:19:13 #2928 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{0.3325000000000001} / │
23:19:13 #2929 [Debug] > │ expected: %A{0.33249999999999996}" │
23:19:13 #2930 [Debug] > │ () │
23:19:13 #2931 [Debug] > │ method0() │
23:19:13 #2932 [Debug] > │ │
23:19:13 #2933 [Debug] > │ │
23:19:13 #2934 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:13 #2935 [Debug] >
23:19:13 #2936 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:13 #2937 [Debug] > inl integral'' dt : integration =
23:19:13 #2938 [Debug] > fun f a b =>
23:19:13 #2939 [Debug] > am'.init_series (a + dt / 2) (b - dt / 2) dt
23:19:13 #2940 [Debug] > |> am.map (f >> (*) dt)
23:19:13 #2941 [Debug] > |> am'.sum
23:19:13 #2942 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1363-6392-6c42824f32c6\main.spi
23:19:13 #2943 [Debug] >
23:19:13 #2944 [Debug] > ╭─[ 183.69ms - stdout ]────────────────────────────────────────────────────────╮
23:19:13 #2945 [Debug] > │ () │
23:19:13 #2946 [Debug] > │ │
23:19:13 #2947 [Debug] > │ │
23:19:13 #2948 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:13 #2949 [Debug] >
23:19:13 #2950 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:13 #2951 [Debug] > // // test
23:19:13 #2952 [Debug] >
23:19:13 #2953 [Debug] > integral'' 0.01 math.square 0 1
23:19:13 #2954 [Debug] > |> _almost_equal (integral 0.01 math.square 0 1)
23:19:13 #2955 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1382-8247-8bcaac49d227\main.spi
23:19:14 #2956 [Debug] >
23:19:14 #2957 [Debug] > ╭─[ 222.73ms - stdout ]────────────────────────────────────────────────────────╮
23:19:14 #2958 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:14 #2959 [Debug] > │ and Mut1 = {mutable l0 : int32; mutable l1 : float} │
23:19:14 #2960 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:14 #2961 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:14 #2962 [Debug] > │ let v2 : bool = v1 < 100 │
23:19:14 #2963 [Debug] > │ v2 │
23:19:14 #2964 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:14 #2965 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:14 #2966 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:14 #2967 [Debug] > │ v3 │
23:19:14 #2968 [Debug] > │ and method3 (v0 : int32, v1 : Mut1) : bool = │
23:19:14 #2969 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:14 #2970 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:14 #2971 [Debug] > │ v3 │
23:19:14 #2972 [Debug] > │ and method0 () : unit = │
23:19:14 #2973 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (100) │
23:19:14 #2974 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:14 #2975 [Debug] > │ while method1(v1) do │
23:19:14 #2976 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:14 #2977 [Debug] > │ let v4 : float = float v3 │
23:19:14 #2978 [Debug] > │ let v5 : float = 0.01 * v4 │
23:19:14 #2979 [Debug] > │ let v6 : float = 0.005 + v5 │
23:19:14 #2980 [Debug] > │ v0.[int v3] <- v6 │
23:19:14 #2981 [Debug] > │ let v7 : int32 = v3 + 1 │
23:19:14 #2982 [Debug] > │ v1.l0 <- v7 │
23:19:14 #2983 [Debug] > │ () │
23:19:14 #2984 [Debug] > │ let v8 : int32 = v0.Length │
23:19:14 #2985 [Debug] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
23:19:14 #2986 [Debug] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
23:19:14 #2987 [Debug] > │ while method2(v8, v10) do │
23:19:14 #2988 [Debug] > │ let v12 : int32 = v10.l0 │
23:19:14 #2989 [Debug] > │ let v13 : float = v0.[int v12] │
23:19:14 #2990 [Debug] > │ let v14 : float = v13 ** 2.0 │
23:19:14 #2991 [Debug] > │ let v15 : float = 0.01 * v14 │
23:19:14 #2992 [Debug] > │ v9.[int v12] <- v15 │
23:19:14 #2993 [Debug] > │ let v16 : int32 = v12 + 1 │
23:19:14 #2994 [Debug] > │ v10.l0 <- v16 │
23:19:14 #2995 [Debug] > │ () │
23:19:14 #2996 [Debug] > │ let v17 : int32 = v9.Length │
23:19:14 #2997 [Debug] > │ let v18 : Mut1 = {l0 = 0; l1 = 0.0} : Mut1 │
23:19:14 #2998 [Debug] > │ while method3(v17, v18) do │
23:19:14 #2999 [Debug] > │ let v20 : int32 = v18.l0 │
23:19:14 #3000 [Debug] > │ let v21 : float = v18.l1 │
23:19:14 #3001 [Debug] > │ let v22 : float = v9.[int v20] │
23:19:14 #3002 [Debug] > │ let v23 : float = v21 + v22 │
23:19:14 #3003 [Debug] > │ let v24 : int32 = v20 + 1 │
23:19:14 #3004 [Debug] > │ v18.l0 <- v24 │
23:19:14 #3005 [Debug] > │ v18.l1 <- v23 │
23:19:14 #3006 [Debug] > │ () │
23:19:14 #3007 [Debug] > │ let v25 : float = v18.l1 │
23:19:14 #3008 [Debug] > │ let v26 : float = 0.3333250000000004 - v25 │
23:19:14 #3009 [Debug] > │ let v27 : float = -v26 │
23:19:14 #3010 [Debug] > │ let v28 : bool = v26 >= v27 │
23:19:14 #3011 [Debug] > │ let v29 : float = │
23:19:14 #3012 [Debug] > │ if v28 then │
23:19:14 #3013 [Debug] > │ v26 │
23:19:14 #3014 [Debug] > │ else │
23:19:14 #3015 [Debug] > │ v27 │
23:19:14 #3016 [Debug] > │ let v30 : bool = v29 < 1E-08 │
23:19:14 #3017 [Debug] > │ let v31 : string = $"_almost_equal / actual: %A{v25} / expected: │
23:19:14 #3018 [Debug] > │ %A{0.3333250000000004}" │
23:19:14 #3019 [Debug] > │ let v32 : bool = v30 = false │
23:19:14 #3020 [Debug] > │ if v32 then │
23:19:14 #3021 [Debug] > │ failwith<unit> v31 │
23:19:14 #3022 [Debug] > │ method0() │
23:19:14 #3023 [Debug] > │ │
23:19:14 #3024 [Debug] > │ │
23:19:14 #3025 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3026 [Debug] >
23:19:14 #3027 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:14 #3028 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:14 #3029 [Debug] > │ ## anti_derivative │
23:19:14 #3030 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3031 [Debug] >
23:19:14 #3032 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:14 #3033 [Debug] > inl anti_derivative dt v0 a t =
23:19:14 #3034 [Debug] > v0 + integral' dt a 0 t
23:19:14 #3035 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1408-0823-0597c796d08b\main.spi
23:19:14 #3036 [Debug] >
23:19:14 #3037 [Debug] > ╭─[ 164.07ms - stdout ]────────────────────────────────────────────────────────╮
23:19:14 #3038 [Debug] > │ () │
23:19:14 #3039 [Debug] > │ │
23:19:14 #3040 [Debug] > │ │
23:19:14 #3041 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3042 [Debug] >
23:19:14 #3043 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:14 #3044 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:14 #3045 [Debug] > │ ## velocity_ft │
23:19:14 #3046 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3047 [Debug] >
23:19:14 #3048 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:14 #3049 [Debug] > type velocity_ft = mass -> velocity -> list (time -> force) -> (time ->
23:19:14 #3050 [Debug] > velocity)
23:19:14 #3051 [Debug] >
23:19:14 #3052 [Debug] > inl velocity_ft dt : velocity_ft =
23:19:14 #3053 [Debug] > fun m v0 fs =>
23:19:14 #3054 [Debug] > inl f_net t = fs |> listm.map (fun f => f t) |> listm'.sum
23:19:14 #3055 [Debug] > inl a t = f_net t / m
23:19:14 #3056 [Debug] > anti_derivative dt v0 a
23:19:14 #3057 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1425-2524-20b8868941d7\main.spi
23:19:14 #3058 [Debug] >
23:19:14 #3059 [Debug] > ╭─[ 228.77ms - stdout ]────────────────────────────────────────────────────────╮
23:19:14 #3060 [Debug] > │ () │
23:19:14 #3061 [Debug] > │ │
23:19:14 #3062 [Debug] > │ │
23:19:14 #3063 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3064 [Debug] >
23:19:14 #3065 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:14 #3066 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:14 #3067 [Debug] > │ ## position_ft │
23:19:14 #3068 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3069 [Debug] >
23:19:14 #3070 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:14 #3071 [Debug] > type position_ft = mass -> position -> velocity -> list (time -> force) -> (time
23:19:14 #3072 [Debug] > -> position)
23:19:14 #3073 [Debug] >
23:19:14 #3074 [Debug] > inl position_ft dt : position_ft =
23:19:14 #3075 [Debug] > fun m x0 v0 fs =>
23:19:14 #3076 [Debug] > velocity_ft dt m v0 fs
23:19:14 #3077 [Debug] > |> anti_derivative dt x0
23:19:14 #3078 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1448-4845-49317aeb9fd7\main.spi
23:19:14 #3079 [Debug] >
23:19:14 #3080 [Debug] > ╭─[ 167.58ms - stdout ]────────────────────────────────────────────────────────╮
23:19:14 #3081 [Debug] > │ () │
23:19:14 #3082 [Debug] > │ │
23:19:14 #3083 [Debug] > │ │
23:19:14 #3084 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:14 #3085 [Debug] >
23:19:14 #3086 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:14 #3087 [Debug] > // // test
23:19:14 #3088 [Debug] >
23:19:14 #3089 [Debug] > inl pedal_coast (t : time) : force =
23:19:14 #3090 [Debug] > inl t_cycle = 20
23:19:14 #3091 [Debug] > inl n_complete : i32 = t / t_cycle |> conv
23:19:14 #3092 [Debug] > inl remainder = t - conv n_complete * t_cycle
23:19:14 #3093 [Debug] > if remainder > 0 && remainder < 10
23:19:14 #3094 [Debug] > then 10
23:19:14 #3095 [Debug] > else 0
23:19:14 #3096 [Debug] >
23:19:14 #3097 [Debug] > inl x = am'.init_series -5 45 0.1
23:19:14 #3098 [Debug] > inl y = x |> am.map pedal_coast
23:19:14 #3099 [Debug] > "child pedaling then coasting", "time (s)", "", ;[[ "force on bike (N)", x, y ]]
23:19:14 #3100 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1465-6557-6dcd3f64d636\main.spi
23:19:14 #3101 [Debug] >
23:19:14 #3102 [Debug] > ╭─[ 223.26ms - return value ]──────────────────────────────────────────────────╮
23:19:14 #3103 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:14 #3104 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:14 #3105 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:14 #3106 [Debug] > │ stroke="none"/> │
23:19:14 #3107 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:14 #3108 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3109 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3110 [Debug] > │ child pedaling then coasting │
23:19:14 #3111 [Debug] > │ </text> │
23:19:14 #3112 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:14 #3113 [Debug] > │ y2="75"/> │
23:19:14 #3114 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:14 #3115 [Debug] > │ y2="75"/> │
23:19:14 #3116 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:14 #3117 [Debug] > │ y2="75"/> │
23:19:14 #3118 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:14 #3119 [Debug] > │ y2="75"/> │
23:19:14 #3120 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:14 #3121 [Debug] > │ y2="75"/> │
23:19:14 #3122 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:14 #3123 [Debug] > │ x2="109" y2="75"/> │
23:19:14 #3124 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:14 #3125 [Debug] > │ x2="119" y2="75"/> │
23:19:14 #3126 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:14 #3127 [Debug] > │ x2="129" y2="75"/> │
23:19:14 #3128 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:14 #3129 [Debug] > │ x2="139" y2="75"/> │
23:19:14 #3130 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:14 #3131 [Debug] > │ x2="149" y2="75"/> │
23:19:14 #3132 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:14 #3133 [Debug] > │ x2="159" y2="75"/> │
23:19:14 #3134 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:14 #3135 [Debug] > │ x2="169" y2="75"/> │
23:19:14 #3136 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:14 #3137 [Debug] > │ x2="179" y2="75"/> │
23:19:14 #3138 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:14 #3139 [Debug] > │ x2="189" y2="75"/> │
23:19:14 #3140 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:14 #3141 [Debug] > │ x2="199" y2="75"/> │
23:19:14 #3142 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:14 #3143 [Debug] > │ x2="209" y2="75"/> │
23:19:14 #3144 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:14 #3145 [Debug] > │ x2="219" y2="75"/> │
23:19:14 #3146 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:14 #3147 [Debug] > │ x2="229" y2="75"/> │
23:19:14 #3148 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:14 #3149 [Debug] > │ x2="239" y2="75"/> │
23:19:14 #3150 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:14 #3151 [Debug] > │ x2="249" y2="75"/> │
23:19:14 #3152 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:14 #3153 [Debug] > │ x2="259" y2="75"/> │
23:19:14 #3154 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:14 #3155 [Debug] > │ x2="269" y2="75"/> │
23:19:14 #3156 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:14 #3157 [Debug] > │ x2="279" y2="75"/> │
23:19:14 #3158 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:14 #3159 [Debug] > │ x2="289" y2="75"/> │
23:19:14 #3160 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:14 #3161 [Debug] > │ x2="299" y2="75"/> │
23:19:14 #3162 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:14 #3163 [Debug] > │ x2="309" y2="75"/> │
23:19:14 #3164 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:14 #3165 [Debug] > │ x2="319" y2="75"/> │
23:19:14 #3166 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:14 #3167 [Debug] > │ x2="329" y2="75"/> │
23:19:14 #3168 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:14 #3169 [Debug] > │ x2="339" y2="75"/> │
23:19:14 #3170 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:14 #3171 [Debug] > │ x2="349" y2="75"/> │
23:19:14 #3172 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:14 #3173 [Debug] > │ x2="359" y2="75"/> │
23:19:14 #3174 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:14 #3175 [Debug] > │ x2="369" y2="75"/> │
23:19:14 #3176 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:14 #3177 [Debug] > │ x2="379" y2="75"/> │
23:19:14 #3178 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:14 #3179 [Debug] > │ x2="389" y2="75"/> │
23:19:14 #3180 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:14 #3181 [Debug] > │ x2="399" y2="75"/> │
23:19:14 #3182 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:14 #3183 [Debug] > │ x2="409" y2="75"/> │
23:19:14 #3184 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:14 #3185 [Debug] > │ x2="419" y2="75"/> │
23:19:14 #3186 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:14 #3187 [Debug] > │ x2="429" y2="75"/> │
23:19:14 #3188 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:14 #3189 [Debug] > │ x2="439" y2="75"/> │
23:19:14 #3190 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:14 #3191 [Debug] > │ x2="449" y2="75"/> │
23:19:14 #3192 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:14 #3193 [Debug] > │ x2="459" y2="75"/> │
23:19:14 #3194 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:14 #3195 [Debug] > │ x2="469" y2="75"/> │
23:19:14 #3196 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:14 #3197 [Debug] > │ x2="479" y2="75"/> │
23:19:14 #3198 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:14 #3199 [Debug] > │ x2="489" y2="75"/> │
23:19:14 #3200 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:14 #3201 [Debug] > │ x2="499" y2="75"/> │
23:19:14 #3202 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:14 #3203 [Debug] > │ x2="509" y2="75"/> │
23:19:14 #3204 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:14 #3205 [Debug] > │ x2="519" y2="75"/> │
23:19:14 #3206 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:14 #3207 [Debug] > │ x2="529" y2="75"/> │
23:19:14 #3208 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:14 #3209 [Debug] > │ x2="539" y2="75"/> │
23:19:14 #3210 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:14 #3211 [Debug] > │ x2="549" y2="75"/> │
23:19:14 #3212 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:14 #3213 [Debug] > │ x2="559" y2="75"/> │
23:19:14 #3214 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:14 #3215 [Debug] > │ x2="569" y2="75"/> │
23:19:14 #3216 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424" │
23:19:14 #3217 [Debug] > │ x2="579" y2="75"/> │
23:19:14 #3218 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:14 #3219 [Debug] > │ x2="584" y2="415"/> │
23:19:14 #3220 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="398" │
23:19:14 #3221 [Debug] > │ x2="584" y2="398"/> │
23:19:14 #3222 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382" │
23:19:14 #3223 [Debug] > │ x2="584" y2="382"/> │
23:19:14 #3224 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="365" │
23:19:14 #3225 [Debug] > │ x2="584" y2="365"/> │
23:19:14 #3226 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349" │
23:19:14 #3227 [Debug] > │ x2="584" y2="349"/> │
23:19:14 #3228 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332" │
23:19:14 #3229 [Debug] > │ x2="584" y2="332"/> │
23:19:14 #3230 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316" │
23:19:14 #3231 [Debug] > │ x2="584" y2="316"/> │
23:19:14 #3232 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="299" │
23:19:14 #3233 [Debug] > │ x2="584" y2="299"/> │
23:19:14 #3234 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283" │
23:19:14 #3235 [Debug] > │ x2="584" y2="283"/> │
23:19:14 #3236 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="266" │
23:19:14 #3237 [Debug] > │ x2="584" y2="266"/> │
23:19:14 #3238 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:14 #3239 [Debug] > │ x2="584" y2="250"/> │
23:19:14 #3240 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234" │
23:19:14 #3241 [Debug] > │ x2="584" y2="234"/> │
23:19:14 #3242 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217" │
23:19:14 #3243 [Debug] > │ x2="584" y2="217"/> │
23:19:14 #3244 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:14 #3245 [Debug] > │ x2="584" y2="201"/> │
23:19:14 #3246 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184" │
23:19:14 #3247 [Debug] > │ x2="584" y2="184"/> │
23:19:14 #3248 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168" │
23:19:14 #3249 [Debug] > │ x2="584" y2="168"/> │
23:19:14 #3250 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151" │
23:19:14 #3251 [Debug] > │ x2="584" y2="151"/> │
23:19:14 #3252 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135" │
23:19:14 #3253 [Debug] > │ x2="584" y2="135"/> │
23:19:14 #3254 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:14 #3255 [Debug] > │ x2="584" y2="118"/> │
23:19:14 #3256 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102" │
23:19:14 #3257 [Debug] > │ x2="584" y2="102"/> │
23:19:14 #3258 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:14 #3259 [Debug] > │ y2="85"/> │
23:19:14 #3260 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:14 #3261 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3262 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3263 [Debug] > │ time (s) │
23:19:14 #3264 [Debug] > │ </text> │
23:19:14 #3265 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:14 #3266 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3267 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:14 #3268 [Debug] > │ │
23:19:14 #3269 [Debug] > │ </text> │
23:19:14 #3270 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3271 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3272 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3273 [Debug] > │ time (s) │
23:19:14 #3274 [Debug] > │ </text> │
23:19:14 #3275 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:14 #3276 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3277 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:14 #3278 [Debug] > │ │
23:19:14 #3279 [Debug] > │ </text> │
23:19:14 #3280 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:14 #3281 [Debug] > │ y2="75"/> │
23:19:14 #3282 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:14 #3283 [Debug] > │ x2="119" y2="75"/> │
23:19:14 #3284 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:14 #3285 [Debug] > │ x2="169" y2="75"/> │
23:19:14 #3286 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:14 #3287 [Debug] > │ x2="219" y2="75"/> │
23:19:14 #3288 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:14 #3289 [Debug] > │ x2="269" y2="75"/> │
23:19:14 #3290 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:14 #3291 [Debug] > │ x2="319" y2="75"/> │
23:19:14 #3292 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:14 #3293 [Debug] > │ x2="369" y2="75"/> │
23:19:14 #3294 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:14 #3295 [Debug] > │ x2="419" y2="75"/> │
23:19:14 #3296 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:14 #3297 [Debug] > │ x2="469" y2="75"/> │
23:19:14 #3298 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:14 #3299 [Debug] > │ x2="519" y2="75"/> │
23:19:14 #3300 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:14 #3301 [Debug] > │ x2="569" y2="75"/> │
23:19:14 #3302 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:14 #3303 [Debug] > │ x2="584" y2="415"/> │
23:19:14 #3304 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="349" │
23:19:14 #3305 [Debug] > │ x2="584" y2="349"/> │
23:19:14 #3306 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="283" │
23:19:14 #3307 [Debug] > │ x2="584" y2="283"/> │
23:19:14 #3308 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="217" │
23:19:14 #3309 [Debug] > │ x2="584" y2="217"/> │
23:19:14 #3310 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="151" │
23:19:14 #3311 [Debug] > │ x2="584" y2="151"/> │
23:19:14 #3312 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:14 #3313 [Debug] > │ y2="85"/> │
23:19:14 #3314 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3315 [Debug] > │ points="55,74 584,74 "/> │
23:19:14 #3316 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3317 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3318 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3319 [Debug] > │ -5.0 │
23:19:14 #3320 [Debug] > │ </text> │
23:19:14 #3321 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3322 [Debug] > │ points="69,69 69,74 "/> │
23:19:14 #3323 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3324 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3325 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3326 [Debug] > │ 0.0 │
23:19:14 #3327 [Debug] > │ </text> │
23:19:14 #3328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3329 [Debug] > │ points="119,69 119,74 "/> │
23:19:14 #3330 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3331 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3332 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3333 [Debug] > │ 5.0 │
23:19:14 #3334 [Debug] > │ </text> │
23:19:14 #3335 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3336 [Debug] > │ points="169,69 169,74 "/> │
23:19:14 #3337 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3338 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3339 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3340 [Debug] > │ 10.0 │
23:19:14 #3341 [Debug] > │ </text> │
23:19:14 #3342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3343 [Debug] > │ points="219,69 219,74 "/> │
23:19:14 #3344 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3345 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3346 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3347 [Debug] > │ 15.0 │
23:19:14 #3348 [Debug] > │ </text> │
23:19:14 #3349 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3350 [Debug] > │ points="269,69 269,74 "/> │
23:19:14 #3351 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3352 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3353 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3354 [Debug] > │ 20.0 │
23:19:14 #3355 [Debug] > │ </text> │
23:19:14 #3356 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3357 [Debug] > │ points="319,69 319,74 "/> │
23:19:14 #3358 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3359 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3360 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3361 [Debug] > │ 25.0 │
23:19:14 #3362 [Debug] > │ </text> │
23:19:14 #3363 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3364 [Debug] > │ points="369,69 369,74 "/> │
23:19:14 #3365 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3366 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3367 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3368 [Debug] > │ 30.0 │
23:19:14 #3369 [Debug] > │ </text> │
23:19:14 #3370 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3371 [Debug] > │ points="419,69 419,74 "/> │
23:19:14 #3372 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3373 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3374 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3375 [Debug] > │ 35.0 │
23:19:14 #3376 [Debug] > │ </text> │
23:19:14 #3377 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:14 #3378 [Debug] > │ points="469,69 469,74 "/> │
23:19:14 #3379 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:14 #3380 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:14 #3381 [Debug] > │ fill="#FFFFFF"> │
23:19:14 #3382 [Debug] > │ 40.0 │
23:19:14 #3383 [Debug] > │ </text> │
23:19:15 #3384 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3385 [Debug] > │ points="519,69 519,74 "/> │
23:19:15 #3386 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3387 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3388 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3389 [Debug] > │ 45.0 │
23:19:15 #3390 [Debug] > │ </text> │
23:19:15 #3391 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3392 [Debug] > │ points="569,69 569,74 "/> │
23:19:15 #3393 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3394 [Debug] > │ points="54,75 54,424 "/> │
23:19:15 #3395 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3396 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3397 [Debug] > │ 0.0 │
23:19:15 #3398 [Debug] > │ </text> │
23:19:15 #3399 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3400 [Debug] > │ points="49,415 54,415 "/> │
23:19:15 #3401 [Debug] > │ <text x="45" y="349" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3402 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3403 [Debug] > │ 2.0 │
23:19:15 #3404 [Debug] > │ </text> │
23:19:15 #3405 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3406 [Debug] > │ points="49,349 54,349 "/> │
23:19:15 #3407 [Debug] > │ <text x="45" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3408 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3409 [Debug] > │ 4.0 │
23:19:15 #3410 [Debug] > │ </text> │
23:19:15 #3411 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3412 [Debug] > │ points="49,283 54,283 "/> │
23:19:15 #3413 [Debug] > │ <text x="45" y="217" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3414 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3415 [Debug] > │ 6.0 │
23:19:15 #3416 [Debug] > │ </text> │
23:19:15 #3417 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3418 [Debug] > │ points="49,217 54,217 "/> │
23:19:15 #3419 [Debug] > │ <text x="45" y="151" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3420 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3421 [Debug] > │ 8.0 │
23:19:15 #3422 [Debug] > │ </text> │
23:19:15 #3423 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3424 [Debug] > │ points="49,151 54,151 "/> │
23:19:15 #3425 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3426 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3427 [Debug] > │ 10.0 │
23:19:15 #3428 [Debug] > │ </text> │
23:19:15 #3429 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3430 [Debug] > │ points="49,85 54,85 "/> │
23:19:15 #3431 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3432 [Debug] > │ points="55,425 584,425 "/> │
23:19:15 #3433 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3434 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3435 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3436 [Debug] > │ -5.0 │
23:19:15 #3437 [Debug] > │ </text> │
23:19:15 #3438 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3439 [Debug] > │ points="69,425 69,430 "/> │
23:19:15 #3440 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3441 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3442 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3443 [Debug] > │ 0.0 │
23:19:15 #3444 [Debug] > │ </text> │
23:19:15 #3445 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3446 [Debug] > │ points="119,425 119,430 "/> │
23:19:15 #3447 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3448 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3449 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3450 [Debug] > │ 5.0 │
23:19:15 #3451 [Debug] > │ </text> │
23:19:15 #3452 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3453 [Debug] > │ points="169,425 169,430 "/> │
23:19:15 #3454 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3455 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3456 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3457 [Debug] > │ 10.0 │
23:19:15 #3458 [Debug] > │ </text> │
23:19:15 #3459 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3460 [Debug] > │ points="219,425 219,430 "/> │
23:19:15 #3461 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3462 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3463 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3464 [Debug] > │ 15.0 │
23:19:15 #3465 [Debug] > │ </text> │
23:19:15 #3466 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3467 [Debug] > │ points="269,425 269,430 "/> │
23:19:15 #3468 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3469 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3470 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3471 [Debug] > │ 20.0 │
23:19:15 #3472 [Debug] > │ </text> │
23:19:15 #3473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3474 [Debug] > │ points="319,425 319,430 "/> │
23:19:15 #3475 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3476 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3477 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3478 [Debug] > │ 25.0 │
23:19:15 #3479 [Debug] > │ </text> │
23:19:15 #3480 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3481 [Debug] > │ points="369,425 369,430 "/> │
23:19:15 #3482 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3483 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3484 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3485 [Debug] > │ 30.0 │
23:19:15 #3486 [Debug] > │ </text> │
23:19:15 #3487 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3488 [Debug] > │ points="419,425 419,430 "/> │
23:19:15 #3489 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3490 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3491 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3492 [Debug] > │ 35.0 │
23:19:15 #3493 [Debug] > │ </text> │
23:19:15 #3494 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3495 [Debug] > │ points="469,425 469,430 "/> │
23:19:15 #3496 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3497 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3498 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3499 [Debug] > │ 40.0 │
23:19:15 #3500 [Debug] > │ </text> │
23:19:15 #3501 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3502 [Debug] > │ points="519,425 519,430 "/> │
23:19:15 #3503 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #3504 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3505 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3506 [Debug] > │ 45.0 │
23:19:15 #3507 [Debug] > │ </text> │
23:19:15 #3508 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3509 [Debug] > │ points="569,425 569,430 "/> │
23:19:15 #3510 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3511 [Debug] > │ points="585,75 585,424 "/> │
23:19:15 #3512 [Debug] > │ <text x="617" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3513 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3514 [Debug] > │ 0.0 │
23:19:15 #3515 [Debug] > │ </text> │
23:19:15 #3516 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3517 [Debug] > │ points="585,415 590,415 "/> │
23:19:15 #3518 [Debug] > │ <text x="617" y="349" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3519 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3520 [Debug] > │ 2.0 │
23:19:15 #3521 [Debug] > │ </text> │
23:19:15 #3522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3523 [Debug] > │ points="585,349 590,349 "/> │
23:19:15 #3524 [Debug] > │ <text x="617" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3525 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3526 [Debug] > │ 4.0 │
23:19:15 #3527 [Debug] > │ </text> │
23:19:15 #3528 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3529 [Debug] > │ points="585,283 590,283 "/> │
23:19:15 #3530 [Debug] > │ <text x="617" y="217" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3531 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3532 [Debug] > │ 6.0 │
23:19:15 #3533 [Debug] > │ </text> │
23:19:15 #3534 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3535 [Debug] > │ points="585,217 590,217 "/> │
23:19:15 #3536 [Debug] > │ <text x="617" y="151" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #3537 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3538 [Debug] > │ 8.0 │
23:19:15 #3539 [Debug] > │ </text> │
23:19:15 #3540 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3541 [Debug] > │ points="585,151 590,151 "/> │
23:19:15 #3542 [Debug] > │ <text x="595" y="85" dy="0.5ex" text-anchor="start" font-family="sans-serif" │
23:19:15 #3543 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #3544 [Debug] > │ 10.0 │
23:19:15 #3545 [Debug] > │ </text> │
23:19:15 #3546 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3547 [Debug] > │ points="585,85 590,85 "/> │
23:19:15 #3548 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:15 #3549 [Debug] > │ points="69,415 70,415 71,415 72,415 73,415 74,415 75,415 76,415 77,415 │
23:19:15 #3550 [Debug] > │ 78,415 79,415 80,415 81,415 82,415 83,415 84,415 85,415 86,415 87,415 88,415 │
23:19:15 #3551 [Debug] > │ 89,415 90,415 91,415 92,415 93,415 94,415 95,415 96,415 97,415 98,415 99,415 │
23:19:15 #3552 [Debug] > │ 100,415 101,415 102,415 103,415 104,415 105,415 106,415 107,415 108,415 │
23:19:15 #3553 [Debug] > │ 109,415 110,415 111,415 112,415 113,415 114,415 115,415 116,415 117,415 │
23:19:15 #3554 [Debug] > │ 118,415 119,415 120,85 121,85 122,85 123,85 124,85 125,85 126,85 127,85 │
23:19:15 #3555 [Debug] > │ 128,85 129,85 130,85 131,85 132,85 133,85 134,85 135,85 136,85 137,85 138,85 │
23:19:15 #3556 [Debug] > │ 139,85 140,85 141,85 142,85 143,85 144,85 145,85 146,85 147,85 148,85 149,85 │
23:19:15 #3557 [Debug] > │ 150,85 151,85 152,85 153,85 154,85 155,85 156,85 157,85 158,85 159,85 160,85 │
23:19:15 #3558 [Debug] > │ 161,85 162,85 163,85 164,85 165,85 166,85 167,85 168,85 169,85 170,85 171,85 │
23:19:15 #3559 [Debug] > │ 172,85 173,85 174,85 175,85 176,85 177,85 178,85 179,85 180,85 181,85 182,85 │
23:19:15 #3560 [Debug] > │ 183,85 184,85 185,85 186,85 187,85 188,85 189,85 190,85 191,85 192,85 193,85 │
23:19:15 #3561 [Debug] > │ 194,85 195,85 196,85 197,85 198,85 199,85 200,85 201,85 202,85 203,85 204,85 │
23:19:15 #3562 [Debug] > │ 205,85 206,85 207,85 208,85 209,85 210,85 211,85 212,85 213,85 214,85 215,85 │
23:19:15 #3563 [Debug] > │ 216,85 217,85 218,85 219,415 220,415 221,415 222,415 223,415 224,415 225,415 │
23:19:15 #3564 [Debug] > │ 226,415 227,415 228,415 229,415 230,415 231,415 232,415 233,415 234,415 │
23:19:15 #3565 [Debug] > │ 235,415 236,415 237,415 238,415 239,415 240,415 241,415 242,415 243,415 │
23:19:15 #3566 [Debug] > │ 244,415 245,415 246,415 247,415 248,415 249,415 250,415 251,415 252,415 │
23:19:15 #3567 [Debug] > │ 253,415 254,415 255,415 256,415 257,415 258,415 259,415 260,415 261,415 │
23:19:15 #3568 [Debug] > │ 262,415 263,415 264,415 265,415 266,415 267,415 268,415 269,415 270,415 │
23:19:15 #3569 [Debug] > │ 271,415 272,415 273,415 274,415 275,415 276,415 277,415 278,415 279,415 │
23:19:15 #3570 [Debug] > │ 280,415 281,415 282,415 283,415 284,415 285,415 286,415 287,415 288,415 │
23:19:15 #3571 [Debug] > │ 289,415 290,415 291,415 292,415 293,415 294,415 295,415 296,415 297,415 │
23:19:15 #3572 [Debug] > │ 298,415 299,415 300,415 301,415 302,415 303,415 304,415 305,415 306,415 │
23:19:15 #3573 [Debug] > │ 307,415 308,415 309,415 310,415 311,415 312,415 313,415 314,415 315,415 │
23:19:15 #3574 [Debug] > │ 316,415 317,415 318,415 319,415 320,85 321,85 322,85 323,85 324,85 325,85 │
23:19:15 #3575 [Debug] > │ 326,85 327,85 328,85 329,85 330,85 331,85 332,85 333,85 334,85 335,85 336,85 │
23:19:15 #3576 [Debug] > │ 337,85 338,85 339,85 340,85 341,85 342,85 343,85 344,85 345,85 346,85 347,85 │
23:19:15 #3577 [Debug] > │ 348,85 349,85 350,85 351,85 352,85 353,85 354,85 355,85 356,85 357,85 358,85 │
23:19:15 #3578 [Debug] > │ 359,85 360,85 361,85 362,85 363,85 364,85 365,85 366,85 367,85 368,85 369,85 │
23:19:15 #3579 [Debug] > │ 370,85 371,85 372,85 373,85 374,85 375,85 376,85 377,85 378,85 379,85 380,85 │
23:19:15 #3580 [Debug] > │ 381,85 382,85 383,85 384,85 385,85 386,85 387,85 388,85 389,85 390,85 391,85 │
23:19:15 #3581 [Debug] > │ 392,85 393,85 394,85 395,85 396,85 397,85 398,85 399,85 400,85 401,85 402,85 │
23:19:15 #3582 [Debug] > │ 403,85 404,85 405,85 406,85 407,85 408,85 409,85 410,85 411,85 412,85 413,85 │
23:19:15 #3583 [Debug] > │ 414,85 415,85 416,85 417,85 418,85 419,415 420,415 421,415 422,415 423,415 │
23:19:15 #3584 [Debug] > │ 424,415 425,415 426,415 427,415 428,415 429,415 430,415 431,415 432,415 │
23:19:15 #3585 [Debug] > │ 433,415 434,415 435,415 436,415 437,415 438,415 439,415 440,415 441,415 │
23:19:15 #3586 [Debug] > │ 442,415 443,415 444,415 445,415 446,415 447,415 448,415 449,415 450,415 │
23:19:15 #3587 [Debug] > │ 451,415 452,415 453,415 454,415 455,415 456,415 457,415 458,415 459,415 │
23:19:15 #3588 [Debug] > │ 460,415 461,415 462,415 463,415 464,415 465,415 466,415 467,415 468,415 │
23:19:15 #3589 [Debug] > │ 469,415 470,415 471,415 472,415 473,415 474,415 475,415 476,415 477,415 │
23:19:15 #3590 [Debug] > │ 478,415 479,415 480,415 481,415 482,415 483,415 484,415 485,415 486,415 │
23:19:15 #3591 [Debug] > │ 487,415 488,415 489,415 490,415 491,415 492,415 493,415 494,415 495,415 │
23:19:15 #3592 [Debug] > │ 496,415 497,415 498,415 499,415 500,415 501,415 502,415 503,415 504,415 │
23:19:15 #3593 [Debug] > │ 505,415 506,415 507,415 508,415 509,415 510,415 511,415 512,415 513,415 │
23:19:15 #3594 [Debug] > │ 514,415 515,415 516,415 517,415 518,415 519,415 520,85 521,85 522,85 523,85 │
23:19:15 #3595 [Debug] > │ 524,85 525,85 526,85 527,85 528,85 529,85 530,85 531,85 532,85 533,85 534,85 │
23:19:15 #3596 [Debug] > │ 535,85 536,85 537,85 538,85 539,85 540,85 541,85 542,85 543,85 544,85 545,85 │
23:19:15 #3597 [Debug] > │ 546,85 547,85 548,85 549,85 550,85 551,85 552,85 553,85 554,85 555,85 556,85 │
23:19:15 #3598 [Debug] > │ 557,85 558,85 559,85 560,85 561,85 562,85 563,85 564,85 565,85 566,85 567,85 │
23:19:15 #3599 [Debug] > │ 568,85 569,85 "/> │
23:19:15 #3600 [Debug] > │ <rect x="437" y="235" width="143" height="30" opacity="1" fill="none" │
23:19:15 #3601 [Debug] > │ stroke="#FFFFFF"/> │
23:19:15 #3602 [Debug] > │ <text x="477" y="245" dy="0.76em" text-anchor="start" │
23:19:15 #3603 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3604 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3605 [Debug] > │ force on bike (N) │
23:19:15 #3606 [Debug] > │ </text> │
23:19:15 #3607 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:15 #3608 [Debug] > │ points="447,250 467,250 "/> │
23:19:15 #3609 [Debug] > │ </svg> │
23:19:15 #3610 [Debug] > │ │
23:19:15 #3611 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:15 #3612 [Debug] >
23:19:15 #3613 [Debug] > ╭─[ 474.40ms - stdout ]────────────────────────────────────────────────────────╮
23:19:15 #3614 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:15 #3615 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:15 #3616 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:15 #3617 [Debug] > │ let v2 : bool = v1 < 501 │
23:19:15 #3618 [Debug] > │ v2 │
23:19:15 #3619 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:15 #3620 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:15 #3621 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:15 #3622 [Debug] > │ v3 │
23:19:15 #3623 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:15 #3624 [Debug] > │ []) * (float [])) [])) = │
23:19:15 #3625 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (501) │
23:19:15 #3626 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:15 #3627 [Debug] > │ while method1(v1) do │
23:19:15 #3628 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:15 #3629 [Debug] > │ let v4 : float = float v3 │
23:19:15 #3630 [Debug] > │ let v5 : float = 0.1 * v4 │
23:19:15 #3631 [Debug] > │ let v6 : float = -5.0 + v5 │
23:19:15 #3632 [Debug] > │ v0.[int v3] <- v6 │
23:19:15 #3633 [Debug] > │ let v7 : int32 = v3 + 1 │
23:19:15 #3634 [Debug] > │ v1.l0 <- v7 │
23:19:15 #3635 [Debug] > │ () │
23:19:15 #3636 [Debug] > │ let v8 : int32 = v0.Length │
23:19:15 #3637 [Debug] > │ let v9 : (float []) = Array.zeroCreate<float> (v8) │
23:19:15 #3638 [Debug] > │ let v10 : Mut0 = {l0 = 0} : Mut0 │
23:19:15 #3639 [Debug] > │ while method2(v8, v10) do │
23:19:15 #3640 [Debug] > │ let v12 : int32 = v10.l0 │
23:19:15 #3641 [Debug] > │ let v13 : float = v0.[int v12] │
23:19:15 #3642 [Debug] > │ let v14 : float = v13 / 20.0 │
23:19:15 #3643 [Debug] > │ let v15 : int32 = int32 v14 │
23:19:15 #3644 [Debug] > │ let v16 : float = float v15 │
23:19:15 #3645 [Debug] > │ let v17 : float = v16 * 20.0 │
23:19:15 #3646 [Debug] > │ let v18 : float = v13 - v17 │
23:19:15 #3647 [Debug] > │ let v19 : bool = v18 > 0.0 │
23:19:15 #3648 [Debug] > │ let v21 : bool = │
23:19:15 #3649 [Debug] > │ if v19 then │
23:19:15 #3650 [Debug] > │ let v20 : bool = v18 < 10.0 │
23:19:15 #3651 [Debug] > │ v20 │
23:19:15 #3652 [Debug] > │ else │
23:19:15 #3653 [Debug] > │ false │
23:19:15 #3654 [Debug] > │ let v22 : float = │
23:19:15 #3655 [Debug] > │ if v21 then │
23:19:15 #3656 [Debug] > │ 10.0 │
23:19:15 #3657 [Debug] > │ else │
23:19:15 #3658 [Debug] > │ 0.0 │
23:19:15 #3659 [Debug] > │ v9.[int v12] <- v22 │
23:19:15 #3660 [Debug] > │ let v23 : int32 = v12 + 1 │
23:19:15 #3661 [Debug] > │ v10.l0 <- v23 │
23:19:15 #3662 [Debug] > │ () │
23:19:15 #3663 [Debug] > │ let v24 : string = "force on bike (N)" │
23:19:15 #3664 [Debug] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:15 #3665 [Debug] > │ (v24, v0, v9)|] │
23:19:15 #3666 [Debug] > │ let v26 : string = "child pedaling then coasting" │
23:19:15 #3667 [Debug] > │ let v27 : string = "time (s)" │
23:19:15 #3668 [Debug] > │ let v28 : string = "" │
23:19:15 #3669 [Debug] > │ struct (v26, v27, v28, v25) │
23:19:15 #3670 [Debug] > │ method0() │
23:19:15 #3671 [Debug] > │ │
23:19:15 #3672 [Debug] > │ │
23:19:15 #3673 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:15 #3674 [Debug] >
23:19:15 #3675 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:15 #3676 [Debug] > // // test
23:19:15 #3677 [Debug] >
23:19:15 #3678 [Debug] > inl x = am'.init_series -5 45 1
23:19:15 #3679 [Debug] > inl y = x |> am.map (position_ft 0.1f64 20 0 0 [[ pedal_coast ]])
23:19:15 #3680 [Debug] > "child pedaling then coasting", "time (s)", "", ;[[ "position of bike (m)", x, y
23:19:15 #3681 [Debug] > ]]
23:19:15 #3682 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1517-1752-19f15aa08a28\main.spi
23:19:15 #3683 [Debug] >
23:19:15 #3684 [Debug] > ╭─[ 503.39ms - return value ]──────────────────────────────────────────────────╮
23:19:15 #3685 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:15 #3686 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:15 #3687 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:15 #3688 [Debug] > │ stroke="none"/> │
23:19:15 #3689 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:15 #3690 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3691 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3692 [Debug] > │ child pedaling then coasting │
23:19:15 #3693 [Debug] > │ </text> │
23:19:15 #3694 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:15 #3695 [Debug] > │ y2="75"/> │
23:19:15 #3696 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:15 #3697 [Debug] > │ y2="75"/> │
23:19:15 #3698 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:15 #3699 [Debug] > │ y2="75"/> │
23:19:15 #3700 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:15 #3701 [Debug] > │ y2="75"/> │
23:19:15 #3702 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:15 #3703 [Debug] > │ y2="75"/> │
23:19:15 #3704 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:15 #3705 [Debug] > │ x2="109" y2="75"/> │
23:19:15 #3706 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:15 #3707 [Debug] > │ x2="119" y2="75"/> │
23:19:15 #3708 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:15 #3709 [Debug] > │ x2="129" y2="75"/> │
23:19:15 #3710 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:15 #3711 [Debug] > │ x2="139" y2="75"/> │
23:19:15 #3712 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:15 #3713 [Debug] > │ x2="149" y2="75"/> │
23:19:15 #3714 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:15 #3715 [Debug] > │ x2="159" y2="75"/> │
23:19:15 #3716 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:15 #3717 [Debug] > │ x2="169" y2="75"/> │
23:19:15 #3718 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:15 #3719 [Debug] > │ x2="179" y2="75"/> │
23:19:15 #3720 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:15 #3721 [Debug] > │ x2="189" y2="75"/> │
23:19:15 #3722 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:15 #3723 [Debug] > │ x2="199" y2="75"/> │
23:19:15 #3724 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:15 #3725 [Debug] > │ x2="209" y2="75"/> │
23:19:15 #3726 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:15 #3727 [Debug] > │ x2="219" y2="75"/> │
23:19:15 #3728 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:15 #3729 [Debug] > │ x2="229" y2="75"/> │
23:19:15 #3730 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:15 #3731 [Debug] > │ x2="239" y2="75"/> │
23:19:15 #3732 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:15 #3733 [Debug] > │ x2="249" y2="75"/> │
23:19:15 #3734 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:15 #3735 [Debug] > │ x2="259" y2="75"/> │
23:19:15 #3736 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:15 #3737 [Debug] > │ x2="269" y2="75"/> │
23:19:15 #3738 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:15 #3739 [Debug] > │ x2="279" y2="75"/> │
23:19:15 #3740 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:15 #3741 [Debug] > │ x2="289" y2="75"/> │
23:19:15 #3742 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:15 #3743 [Debug] > │ x2="299" y2="75"/> │
23:19:15 #3744 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:15 #3745 [Debug] > │ x2="309" y2="75"/> │
23:19:15 #3746 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:15 #3747 [Debug] > │ x2="319" y2="75"/> │
23:19:15 #3748 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:15 #3749 [Debug] > │ x2="329" y2="75"/> │
23:19:15 #3750 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:15 #3751 [Debug] > │ x2="339" y2="75"/> │
23:19:15 #3752 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:15 #3753 [Debug] > │ x2="349" y2="75"/> │
23:19:15 #3754 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:15 #3755 [Debug] > │ x2="359" y2="75"/> │
23:19:15 #3756 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:15 #3757 [Debug] > │ x2="369" y2="75"/> │
23:19:15 #3758 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:15 #3759 [Debug] > │ x2="379" y2="75"/> │
23:19:15 #3760 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:15 #3761 [Debug] > │ x2="389" y2="75"/> │
23:19:15 #3762 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:15 #3763 [Debug] > │ x2="399" y2="75"/> │
23:19:15 #3764 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:15 #3765 [Debug] > │ x2="409" y2="75"/> │
23:19:15 #3766 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:15 #3767 [Debug] > │ x2="419" y2="75"/> │
23:19:15 #3768 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:15 #3769 [Debug] > │ x2="429" y2="75"/> │
23:19:15 #3770 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:15 #3771 [Debug] > │ x2="439" y2="75"/> │
23:19:15 #3772 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:15 #3773 [Debug] > │ x2="449" y2="75"/> │
23:19:15 #3774 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:15 #3775 [Debug] > │ x2="459" y2="75"/> │
23:19:15 #3776 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:15 #3777 [Debug] > │ x2="469" y2="75"/> │
23:19:15 #3778 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:15 #3779 [Debug] > │ x2="479" y2="75"/> │
23:19:15 #3780 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:15 #3781 [Debug] > │ x2="489" y2="75"/> │
23:19:15 #3782 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:15 #3783 [Debug] > │ x2="499" y2="75"/> │
23:19:15 #3784 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:15 #3785 [Debug] > │ x2="509" y2="75"/> │
23:19:15 #3786 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:15 #3787 [Debug] > │ x2="519" y2="75"/> │
23:19:15 #3788 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:15 #3789 [Debug] > │ x2="529" y2="75"/> │
23:19:15 #3790 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:15 #3791 [Debug] > │ x2="539" y2="75"/> │
23:19:15 #3792 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:15 #3793 [Debug] > │ x2="549" y2="75"/> │
23:19:15 #3794 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:15 #3795 [Debug] > │ x2="559" y2="75"/> │
23:19:15 #3796 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:15 #3797 [Debug] > │ x2="569" y2="75"/> │
23:19:15 #3798 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424" │
23:19:15 #3799 [Debug] > │ x2="579" y2="75"/> │
23:19:15 #3800 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:15 #3801 [Debug] > │ x2="584" y2="415"/> │
23:19:15 #3802 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404" │
23:19:15 #3803 [Debug] > │ x2="584" y2="404"/> │
23:19:15 #3804 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="393" │
23:19:15 #3805 [Debug] > │ x2="584" y2="393"/> │
23:19:15 #3806 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="383" │
23:19:15 #3807 [Debug] > │ x2="584" y2="383"/> │
23:19:15 #3808 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="372" │
23:19:15 #3809 [Debug] > │ x2="584" y2="372"/> │
23:19:15 #3810 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="361" │
23:19:15 #3811 [Debug] > │ x2="584" y2="361"/> │
23:19:15 #3812 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="351" │
23:19:15 #3813 [Debug] > │ x2="584" y2="351"/> │
23:19:15 #3814 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="340" │
23:19:15 #3815 [Debug] > │ x2="584" y2="340"/> │
23:19:15 #3816 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="329" │
23:19:15 #3817 [Debug] > │ x2="584" y2="329"/> │
23:19:15 #3818 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="318" │
23:19:15 #3819 [Debug] > │ x2="584" y2="318"/> │
23:19:15 #3820 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="308" │
23:19:15 #3821 [Debug] > │ x2="584" y2="308"/> │
23:19:15 #3822 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="297" │
23:19:15 #3823 [Debug] > │ x2="584" y2="297"/> │
23:19:15 #3824 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="286" │
23:19:15 #3825 [Debug] > │ x2="584" y2="286"/> │
23:19:15 #3826 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="276" │
23:19:15 #3827 [Debug] > │ x2="584" y2="276"/> │
23:19:15 #3828 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="265" │
23:19:15 #3829 [Debug] > │ x2="584" y2="265"/> │
23:19:15 #3830 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="254" │
23:19:15 #3831 [Debug] > │ x2="584" y2="254"/> │
23:19:15 #3832 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="244" │
23:19:15 #3833 [Debug] > │ x2="584" y2="244"/> │
23:19:15 #3834 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="233" │
23:19:15 #3835 [Debug] > │ x2="584" y2="233"/> │
23:19:15 #3836 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="222" │
23:19:15 #3837 [Debug] > │ x2="584" y2="222"/> │
23:19:15 #3838 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="212" │
23:19:15 #3839 [Debug] > │ x2="584" y2="212"/> │
23:19:15 #3840 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:15 #3841 [Debug] > │ x2="584" y2="201"/> │
23:19:15 #3842 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="190" │
23:19:15 #3843 [Debug] > │ x2="584" y2="190"/> │
23:19:15 #3844 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="180" │
23:19:15 #3845 [Debug] > │ x2="584" y2="180"/> │
23:19:15 #3846 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="169" │
23:19:15 #3847 [Debug] > │ x2="584" y2="169"/> │
23:19:15 #3848 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="158" │
23:19:15 #3849 [Debug] > │ x2="584" y2="158"/> │
23:19:15 #3850 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="147" │
23:19:15 #3851 [Debug] > │ x2="584" y2="147"/> │
23:19:15 #3852 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137" │
23:19:15 #3853 [Debug] > │ x2="584" y2="137"/> │
23:19:15 #3854 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="126" │
23:19:15 #3855 [Debug] > │ x2="584" y2="126"/> │
23:19:15 #3856 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="115" │
23:19:15 #3857 [Debug] > │ x2="584" y2="115"/> │
23:19:15 #3858 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="105" │
23:19:15 #3859 [Debug] > │ x2="584" y2="105"/> │
23:19:15 #3860 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="94" x2="584" │
23:19:15 #3861 [Debug] > │ y2="94"/> │
23:19:15 #3862 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="83" x2="584" │
23:19:15 #3863 [Debug] > │ y2="83"/> │
23:19:15 #3864 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:15 #3865 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3866 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3867 [Debug] > │ time (s) │
23:19:15 #3868 [Debug] > │ </text> │
23:19:15 #3869 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:15 #3870 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3871 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:15 #3872 [Debug] > │ │
23:19:15 #3873 [Debug] > │ </text> │
23:19:15 #3874 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3875 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3876 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3877 [Debug] > │ time (s) │
23:19:15 #3878 [Debug] > │ </text> │
23:19:15 #3879 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:15 #3880 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3881 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:15 #3882 [Debug] > │ │
23:19:15 #3883 [Debug] > │ </text> │
23:19:15 #3884 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:15 #3885 [Debug] > │ y2="75"/> │
23:19:15 #3886 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:15 #3887 [Debug] > │ x2="119" y2="75"/> │
23:19:15 #3888 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:15 #3889 [Debug] > │ x2="169" y2="75"/> │
23:19:15 #3890 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:15 #3891 [Debug] > │ x2="219" y2="75"/> │
23:19:15 #3892 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:15 #3893 [Debug] > │ x2="269" y2="75"/> │
23:19:15 #3894 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:15 #3895 [Debug] > │ x2="319" y2="75"/> │
23:19:15 #3896 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:15 #3897 [Debug] > │ x2="369" y2="75"/> │
23:19:15 #3898 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:15 #3899 [Debug] > │ x2="419" y2="75"/> │
23:19:15 #3900 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:15 #3901 [Debug] > │ x2="469" y2="75"/> │
23:19:15 #3902 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:15 #3903 [Debug] > │ x2="519" y2="75"/> │
23:19:15 #3904 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:15 #3905 [Debug] > │ x2="569" y2="75"/> │
23:19:15 #3906 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:15 #3907 [Debug] > │ x2="584" y2="415"/> │
23:19:15 #3908 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="361" │
23:19:15 #3909 [Debug] > │ x2="584" y2="361"/> │
23:19:15 #3910 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="308" │
23:19:15 #3911 [Debug] > │ x2="584" y2="308"/> │
23:19:15 #3912 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="254" │
23:19:15 #3913 [Debug] > │ x2="584" y2="254"/> │
23:19:15 #3914 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="201" │
23:19:15 #3915 [Debug] > │ x2="584" y2="201"/> │
23:19:15 #3916 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="147" │
23:19:15 #3917 [Debug] > │ x2="584" y2="147"/> │
23:19:15 #3918 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="94" x2="584" │
23:19:15 #3919 [Debug] > │ y2="94"/> │
23:19:15 #3920 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3921 [Debug] > │ points="55,74 584,74 "/> │
23:19:15 #3922 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3923 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3924 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3925 [Debug] > │ -5.0 │
23:19:15 #3926 [Debug] > │ </text> │
23:19:15 #3927 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3928 [Debug] > │ points="69,69 69,74 "/> │
23:19:15 #3929 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3930 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3931 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3932 [Debug] > │ 0.0 │
23:19:15 #3933 [Debug] > │ </text> │
23:19:15 #3934 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3935 [Debug] > │ points="119,69 119,74 "/> │
23:19:15 #3936 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3937 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3938 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3939 [Debug] > │ 5.0 │
23:19:15 #3940 [Debug] > │ </text> │
23:19:15 #3941 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3942 [Debug] > │ points="169,69 169,74 "/> │
23:19:15 #3943 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3944 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3945 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3946 [Debug] > │ 10.0 │
23:19:15 #3947 [Debug] > │ </text> │
23:19:15 #3948 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3949 [Debug] > │ points="219,69 219,74 "/> │
23:19:15 #3950 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3951 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3952 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3953 [Debug] > │ 15.0 │
23:19:15 #3954 [Debug] > │ </text> │
23:19:15 #3955 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3956 [Debug] > │ points="269,69 269,74 "/> │
23:19:15 #3957 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3958 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3959 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3960 [Debug] > │ 20.0 │
23:19:15 #3961 [Debug] > │ </text> │
23:19:15 #3962 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3963 [Debug] > │ points="319,69 319,74 "/> │
23:19:15 #3964 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3965 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3966 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3967 [Debug] > │ 25.0 │
23:19:15 #3968 [Debug] > │ </text> │
23:19:15 #3969 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3970 [Debug] > │ points="369,69 369,74 "/> │
23:19:15 #3971 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3972 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3973 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3974 [Debug] > │ 30.0 │
23:19:15 #3975 [Debug] > │ </text> │
23:19:15 #3976 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3977 [Debug] > │ points="419,69 419,74 "/> │
23:19:15 #3978 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3979 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3980 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3981 [Debug] > │ 35.0 │
23:19:15 #3982 [Debug] > │ </text> │
23:19:15 #3983 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3984 [Debug] > │ points="469,69 469,74 "/> │
23:19:15 #3985 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3986 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3987 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3988 [Debug] > │ 40.0 │
23:19:15 #3989 [Debug] > │ </text> │
23:19:15 #3990 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3991 [Debug] > │ points="519,69 519,74 "/> │
23:19:15 #3992 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:15 #3993 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #3994 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #3995 [Debug] > │ 45.0 │
23:19:15 #3996 [Debug] > │ </text> │
23:19:15 #3997 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #3998 [Debug] > │ points="569,69 569,74 "/> │
23:19:15 #3999 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4000 [Debug] > │ points="54,75 54,424 "/> │
23:19:15 #4001 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4002 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4003 [Debug] > │ 0.0 │
23:19:15 #4004 [Debug] > │ </text> │
23:19:15 #4005 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4006 [Debug] > │ points="49,415 54,415 "/> │
23:19:15 #4007 [Debug] > │ <text x="45" y="361" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4008 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4009 [Debug] > │ 50.0 │
23:19:15 #4010 [Debug] > │ </text> │
23:19:15 #4011 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4012 [Debug] > │ points="49,361 54,361 "/> │
23:19:15 #4013 [Debug] > │ <text x="45" y="308" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4014 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4015 [Debug] > │ 100.0 │
23:19:15 #4016 [Debug] > │ </text> │
23:19:15 #4017 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4018 [Debug] > │ points="49,308 54,308 "/> │
23:19:15 #4019 [Debug] > │ <text x="45" y="254" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4020 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4021 [Debug] > │ 150.0 │
23:19:15 #4022 [Debug] > │ </text> │
23:19:15 #4023 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4024 [Debug] > │ points="49,254 54,254 "/> │
23:19:15 #4025 [Debug] > │ <text x="45" y="201" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4026 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4027 [Debug] > │ 200.0 │
23:19:15 #4028 [Debug] > │ </text> │
23:19:15 #4029 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4030 [Debug] > │ points="49,201 54,201 "/> │
23:19:15 #4031 [Debug] > │ <text x="45" y="147" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4032 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4033 [Debug] > │ 250.0 │
23:19:15 #4034 [Debug] > │ </text> │
23:19:15 #4035 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4036 [Debug] > │ points="49,147 54,147 "/> │
23:19:15 #4037 [Debug] > │ <text x="45" y="94" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4038 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4039 [Debug] > │ 300.0 │
23:19:15 #4040 [Debug] > │ </text> │
23:19:15 #4041 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4042 [Debug] > │ points="49,94 54,94 "/> │
23:19:15 #4043 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4044 [Debug] > │ points="55,425 584,425 "/> │
23:19:15 #4045 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4046 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4047 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4048 [Debug] > │ -5.0 │
23:19:15 #4049 [Debug] > │ </text> │
23:19:15 #4050 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4051 [Debug] > │ points="69,425 69,430 "/> │
23:19:15 #4052 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4053 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4054 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4055 [Debug] > │ 0.0 │
23:19:15 #4056 [Debug] > │ </text> │
23:19:15 #4057 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4058 [Debug] > │ points="119,425 119,430 "/> │
23:19:15 #4059 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4060 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4061 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4062 [Debug] > │ 5.0 │
23:19:15 #4063 [Debug] > │ </text> │
23:19:15 #4064 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4065 [Debug] > │ points="169,425 169,430 "/> │
23:19:15 #4066 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4067 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4068 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4069 [Debug] > │ 10.0 │
23:19:15 #4070 [Debug] > │ </text> │
23:19:15 #4071 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4072 [Debug] > │ points="219,425 219,430 "/> │
23:19:15 #4073 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4074 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4075 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4076 [Debug] > │ 15.0 │
23:19:15 #4077 [Debug] > │ </text> │
23:19:15 #4078 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4079 [Debug] > │ points="269,425 269,430 "/> │
23:19:15 #4080 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4081 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4082 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4083 [Debug] > │ 20.0 │
23:19:15 #4084 [Debug] > │ </text> │
23:19:15 #4085 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4086 [Debug] > │ points="319,425 319,430 "/> │
23:19:15 #4087 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4088 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4089 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4090 [Debug] > │ 25.0 │
23:19:15 #4091 [Debug] > │ </text> │
23:19:15 #4092 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4093 [Debug] > │ points="369,425 369,430 "/> │
23:19:15 #4094 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4095 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4096 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4097 [Debug] > │ 30.0 │
23:19:15 #4098 [Debug] > │ </text> │
23:19:15 #4099 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4100 [Debug] > │ points="419,425 419,430 "/> │
23:19:15 #4101 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4102 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4103 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4104 [Debug] > │ 35.0 │
23:19:15 #4105 [Debug] > │ </text> │
23:19:15 #4106 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4107 [Debug] > │ points="469,425 469,430 "/> │
23:19:15 #4108 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4109 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4110 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4111 [Debug] > │ 40.0 │
23:19:15 #4112 [Debug] > │ </text> │
23:19:15 #4113 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4114 [Debug] > │ points="519,425 519,430 "/> │
23:19:15 #4115 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:15 #4116 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4117 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4118 [Debug] > │ 45.0 │
23:19:15 #4119 [Debug] > │ </text> │
23:19:15 #4120 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4121 [Debug] > │ points="569,425 569,430 "/> │
23:19:15 #4122 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4123 [Debug] > │ points="585,75 585,424 "/> │
23:19:15 #4124 [Debug] > │ <text x="622" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4125 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4126 [Debug] > │ 0.0 │
23:19:15 #4127 [Debug] > │ </text> │
23:19:15 #4128 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4129 [Debug] > │ points="585,415 590,415 "/> │
23:19:15 #4130 [Debug] > │ <text x="622" y="361" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:15 #4131 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4132 [Debug] > │ 50.0 │
23:19:15 #4133 [Debug] > │ </text> │
23:19:15 #4134 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4135 [Debug] > │ points="585,361 590,361 "/> │
23:19:15 #4136 [Debug] > │ <text x="595" y="308" dy="0.5ex" text-anchor="start" │
23:19:15 #4137 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4138 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4139 [Debug] > │ 100.0 │
23:19:15 #4140 [Debug] > │ </text> │
23:19:15 #4141 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4142 [Debug] > │ points="585,308 590,308 "/> │
23:19:15 #4143 [Debug] > │ <text x="595" y="254" dy="0.5ex" text-anchor="start" │
23:19:15 #4144 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4145 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4146 [Debug] > │ 150.0 │
23:19:15 #4147 [Debug] > │ </text> │
23:19:15 #4148 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4149 [Debug] > │ points="585,254 590,254 "/> │
23:19:15 #4150 [Debug] > │ <text x="595" y="201" dy="0.5ex" text-anchor="start" │
23:19:15 #4151 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4152 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4153 [Debug] > │ 200.0 │
23:19:15 #4154 [Debug] > │ </text> │
23:19:15 #4155 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4156 [Debug] > │ points="585,201 590,201 "/> │
23:19:15 #4157 [Debug] > │ <text x="595" y="147" dy="0.5ex" text-anchor="start" │
23:19:15 #4158 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4159 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4160 [Debug] > │ 250.0 │
23:19:15 #4161 [Debug] > │ </text> │
23:19:15 #4162 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4163 [Debug] > │ points="585,147 590,147 "/> │
23:19:15 #4164 [Debug] > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │
23:19:15 #4165 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:15 #4166 [Debug] > │ 300.0 │
23:19:15 #4167 [Debug] > │ </text> │
23:19:15 #4168 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:15 #4169 [Debug] > │ points="585,94 590,94 "/> │
23:19:15 #4170 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:15 #4171 [Debug] > │ points="69,415 79,415 89,415 99,415 109,415 119,415 129,414 139,413 149,412 │
23:19:15 #4172 [Debug] > │ 159,410 169,408 179,405 189,401 199,397 209,393 219,388 229,382 239,377 │
23:19:15 #4173 [Debug] > │ 249,372 259,366 269,361 279,356 289,350 299,345 309,340 319,334 329,329 │
23:19:15 #4174 [Debug] > │ 339,322 349,316 359,308 369,301 379,292 389,284 399,274 409,264 419,254 │
23:19:15 #4175 [Debug] > │ 429,243 439,232 449,221 459,210 469,199 479,189 489,178 499,167 509,157 │
23:19:15 #4176 [Debug] > │ 519,146 529,135 539,123 549,111 559,99 569,85 "/> │
23:19:15 #4177 [Debug] > │ <rect x="421" y="235" width="159" height="30" opacity="1" fill="none" │
23:19:15 #4178 [Debug] > │ stroke="#FFFFFF"/> │
23:19:15 #4179 [Debug] > │ <text x="461" y="245" dy="0.76em" text-anchor="start" │
23:19:15 #4180 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:15 #4181 [Debug] > │ fill="#FFFFFF"> │
23:19:15 #4182 [Debug] > │ position of bike (m) │
23:19:15 #4183 [Debug] > │ </text> │
23:19:15 #4184 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:15 #4185 [Debug] > │ points="431,250 451,250 "/> │
23:19:15 #4186 [Debug] > │ </svg> │
23:19:15 #4187 [Debug] > │ │
23:19:15 #4188 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:15 #4189 [Debug] >
23:19:15 #4190 [Debug] > ╭─[ 806.94ms - stdout ]────────────────────────────────────────────────────────╮
23:19:15 #4191 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:15 #4192 [Debug] > │ and UH0 = │
23:19:15 #4193 [Debug] > │ | UH0_0 of float * UH0 │
23:19:15 #4194 [Debug] > │ | UH0_1 │
23:19:15 #4195 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:15 #4196 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:15 #4197 [Debug] > │ let v2 : bool = v1 < 51 │
23:19:15 #4198 [Debug] > │ v2 │
23:19:15 #4199 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:15 #4200 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:15 #4201 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:15 #4202 [Debug] > │ v3 │
23:19:15 #4203 [Debug] > │ and method3 (v0 : float, v1 : float) : UH0 = │
23:19:15 #4204 [Debug] > │ let v2 : bool = v1 < v0 │
23:19:15 #4205 [Debug] > │ if v2 then │
23:19:15 #4206 [Debug] > │ let v3 : float = 0.1 * v1 │
23:19:15 #4207 [Debug] > │ let v4 : float = 0.05 + v3 │
23:19:15 #4208 [Debug] > │ let v5 : float = v1 + 1.0 │
23:19:15 #4209 [Debug] > │ let v6 : UH0 = method3(v0, v5) │
23:19:15 #4210 [Debug] > │ UH0_0(v4, v6) │
23:19:15 #4211 [Debug] > │ else │
23:19:15 #4212 [Debug] > │ UH0_1 │
23:19:15 #4213 [Debug] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:15 #4214 [Debug] > │ match v0 with │
23:19:15 #4215 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:15 #4216 [Debug] > │ let v4 : UH0 = method5(v3, v1) │
23:19:15 #4217 [Debug] > │ let v5 : float = v2 / 20.0 │
23:19:15 #4218 [Debug] > │ let v6 : int32 = int32 v5 │
23:19:15 #4219 [Debug] > │ let v7 : float = float v6 │
23:19:15 #4220 [Debug] > │ let v8 : float = v7 * 20.0 │
23:19:15 #4221 [Debug] > │ let v9 : float = v2 - v8 │
23:19:16 #4222 [Debug] > │ let v10 : bool = v9 > 0.0 │
23:19:16 #4223 [Debug] > │ let v12 : bool = │
23:19:16 #4224 [Debug] > │ if v10 then │
23:19:16 #4225 [Debug] > │ let v11 : bool = v9 < 10.0 │
23:19:16 #4226 [Debug] > │ v11 │
23:19:16 #4227 [Debug] > │ else │
23:19:16 #4228 [Debug] > │ false │
23:19:16 #4229 [Debug] > │ let v13 : float = │
23:19:16 #4230 [Debug] > │ if v12 then │
23:19:16 #4231 [Debug] > │ 10.0 │
23:19:16 #4232 [Debug] > │ else │
23:19:16 #4233 [Debug] > │ 0.0 │
23:19:16 #4234 [Debug] > │ let v14 : float = v13 / 20.0 │
23:19:16 #4235 [Debug] > │ let v15 : float = 0.1 * v14 │
23:19:16 #4236 [Debug] > │ UH0_0(v15, v4) │
23:19:16 #4237 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:16 #4238 [Debug] > │ v1 │
23:19:16 #4239 [Debug] > │ and method6 (v0 : UH0, v1 : float) : float = │
23:19:16 #4240 [Debug] > │ match v0 with │
23:19:16 #4241 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:16 #4242 [Debug] > │ let v4 : float = v1 + v2 │
23:19:16 #4243 [Debug] > │ method6(v3, v4) │
23:19:16 #4244 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:16 #4245 [Debug] > │ v1 │
23:19:16 #4246 [Debug] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:16 #4247 [Debug] > │ match v0 with │
23:19:16 #4248 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:16 #4249 [Debug] > │ let v4 : UH0 = method4(v3, v1) │
23:19:16 #4250 [Debug] > │ let v5 : float = v2 - 0.05 │
23:19:16 #4251 [Debug] > │ let v6 : float = v5 - 0.05 │
23:19:16 #4252 [Debug] > │ let v7 : float = v6 / 0.1 │
23:19:16 #4253 [Debug] > │ let v8 : float = v7 + 1.0 │
23:19:16 #4254 [Debug] > │ let v9 : float = 0.0 │
23:19:16 #4255 [Debug] > │ let v10 : UH0 = method3(v8, v9) │
23:19:16 #4256 [Debug] > │ let v11 : UH0 = UH0_1 │
23:19:16 #4257 [Debug] > │ let v12 : UH0 = method5(v10, v11) │
23:19:16 #4258 [Debug] > │ let v13 : float = 0.0 │
23:19:16 #4259 [Debug] > │ let v14 : float = method6(v12, v13) │
23:19:16 #4260 [Debug] > │ let v15 : float = 0.1 * v14 │
23:19:16 #4261 [Debug] > │ UH0_0(v15, v4) │
23:19:16 #4262 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:16 #4263 [Debug] > │ v1 │
23:19:16 #4264 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:16 #4265 [Debug] > │ []) * (float [])) [])) = │
23:19:16 #4266 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (51) │
23:19:16 #4267 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:16 #4268 [Debug] > │ while method1(v1) do │
23:19:16 #4269 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:16 #4270 [Debug] > │ let v4 : float = float v3 │
23:19:16 #4271 [Debug] > │ let v5 : float = -5.0 + v4 │
23:19:16 #4272 [Debug] > │ v0.[int v3] <- v5 │
23:19:16 #4273 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:16 #4274 [Debug] > │ v1.l0 <- v6 │
23:19:16 #4275 [Debug] > │ () │
23:19:16 #4276 [Debug] > │ let v7 : int32 = v0.Length │
23:19:16 #4277 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:16 #4278 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:16 #4279 [Debug] > │ while method2(v7, v9) do │
23:19:16 #4280 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:16 #4281 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:16 #4282 [Debug] > │ let v13 : float = v12 - 0.05 │
23:19:16 #4283 [Debug] > │ let v14 : float = v13 - 0.05 │
23:19:16 #4284 [Debug] > │ let v15 : float = v14 / 0.1 │
23:19:16 #4285 [Debug] > │ let v16 : float = v15 + 1.0 │
23:19:16 #4286 [Debug] > │ let v17 : float = 0.0 │
23:19:16 #4287 [Debug] > │ let v18 : UH0 = method3(v16, v17) │
23:19:16 #4288 [Debug] > │ let v19 : UH0 = UH0_1 │
23:19:16 #4289 [Debug] > │ let v20 : UH0 = method4(v18, v19) │
23:19:16 #4290 [Debug] > │ let v21 : float = 0.0 │
23:19:16 #4291 [Debug] > │ let v22 : float = method6(v20, v21) │
23:19:16 #4292 [Debug] > │ v8.[int v11] <- v22 │
23:19:16 #4293 [Debug] > │ let v23 : int32 = v11 + 1 │
23:19:16 #4294 [Debug] > │ v9.l0 <- v23 │
23:19:16 #4295 [Debug] > │ () │
23:19:16 #4296 [Debug] > │ let v24 : string = "position of bike (m)" │
23:19:16 #4297 [Debug] > │ let v25 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:16 #4298 [Debug] > │ (v24, v0, v8)|] │
23:19:16 #4299 [Debug] > │ let v26 : string = "child pedaling then coasting" │
23:19:16 #4300 [Debug] > │ let v27 : string = "time (s)" │
23:19:16 #4301 [Debug] > │ let v28 : string = "" │
23:19:16 #4302 [Debug] > │ struct (v26, v27, v28, v25) │
23:19:16 #4303 [Debug] > │ method0() │
23:19:16 #4304 [Debug] > │ │
23:19:16 #4305 [Debug] > │ │
23:19:16 #4306 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4307 [Debug] >
23:19:16 #4308 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:16 #4309 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:16 #4310 [Debug] > │ ## velocity_fv │
23:19:16 #4311 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4312 [Debug] >
23:19:16 #4313 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:16 #4314 [Debug] > inl newton_second_v m fs v0 =
23:19:16 #4315 [Debug] > fs |> listm.map (fun f => f v0) |> listm'.sum |> fun x => x / m
23:19:16 #4316 [Debug] >
23:19:16 #4317 [Debug] > inl update_velocity dt m fs v0 =
23:19:16 #4318 [Debug] > v0 + newton_second_v m fs v0 * dt
23:19:16 #4319 [Debug] >
23:19:16 #4320 [Debug] > inl velocity_fv dt m v0 fs t =
23:19:16 #4321 [Debug] > t / dt |> math.round |> abs
23:19:16 #4322 [Debug] > |> seq.iterate_ (update_velocity dt m fs) v0
23:19:16 #4323 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1605-0588-0198192fc175\main.spi
23:19:16 #4324 [Debug] >
23:19:16 #4325 [Debug] > ╭─[ 127.31ms - stdout ]────────────────────────────────────────────────────────╮
23:19:16 #4326 [Debug] > │ () │
23:19:16 #4327 [Debug] > │ │
23:19:16 #4328 [Debug] > │ │
23:19:16 #4329 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4330 [Debug] >
23:19:16 #4331 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:16 #4332 [Debug] > inl f_air drag rho area v =
23:19:16 #4333 [Debug] > -drag * rho * area * abs v * v / 2
23:19:16 #4334 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1618-1857-100e707d914a\main.spi
23:19:16 #4335 [Debug] >
23:19:16 #4336 [Debug] > ╭─[ 122.03ms - stdout ]────────────────────────────────────────────────────────╮
23:19:16 #4337 [Debug] > │ () │
23:19:16 #4338 [Debug] > │ │
23:19:16 #4339 [Debug] > │ │
23:19:16 #4340 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4341 [Debug] >
23:19:16 #4342 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:16 #4343 [Debug] > // // test
23:19:16 #4344 [Debug] >
23:19:16 #4345 [Debug] > inl x = am'.init_series 0 60 0.5
23:19:16 #4346 [Debug] > inl y = x |> am.map (velocity_fv 1 70 0f64 [[ fun _ => 100; f_air 2 1.225 0.6
23:19:16 #4347 [Debug] > ]])
23:19:16 #4348 [Debug] > "bike velocity", "time (s)", "", ;[[ "velocity of bike (m/s)", x, y ]]
23:19:16 #4349 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1631-3101-3295dda09862\main.spi
23:19:16 #4350 [Debug] >
23:19:16 #4351 [Debug] > ╭─[ 168.33ms - return value ]──────────────────────────────────────────────────╮
23:19:16 #4352 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:16 #4353 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:16 #4354 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:16 #4355 [Debug] > │ stroke="none"/> │
23:19:16 #4356 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:16 #4357 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4358 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4359 [Debug] > │ bike velocity │
23:19:16 #4360 [Debug] > │ </text> │
23:19:16 #4361 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
23:19:16 #4362 [Debug] > │ y2="75"/> │
23:19:16 #4363 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:16 #4364 [Debug] > │ y2="75"/> │
23:19:16 #4365 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
23:19:16 #4366 [Debug] > │ y2="75"/> │
23:19:16 #4367 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
23:19:16 #4368 [Debug] > │ y2="75"/> │
23:19:16 #4369 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
23:19:16 #4370 [Debug] > │ y2="75"/> │
23:19:16 #4371 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
23:19:16 #4372 [Debug] > │ x2="103" y2="75"/> │
23:19:16 #4373 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
23:19:16 #4374 [Debug] > │ x2="111" y2="75"/> │
23:19:16 #4375 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:16 #4376 [Debug] > │ x2="119" y2="75"/> │
23:19:16 #4377 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
23:19:16 #4378 [Debug] > │ x2="128" y2="75"/> │
23:19:16 #4379 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
23:19:16 #4380 [Debug] > │ x2="136" y2="75"/> │
23:19:16 #4381 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
23:19:16 #4382 [Debug] > │ x2="144" y2="75"/> │
23:19:16 #4383 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
23:19:16 #4384 [Debug] > │ x2="153" y2="75"/> │
23:19:16 #4385 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
23:19:16 #4386 [Debug] > │ x2="161" y2="75"/> │
23:19:16 #4387 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:16 #4388 [Debug] > │ x2="169" y2="75"/> │
23:19:16 #4389 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424" │
23:19:16 #4390 [Debug] > │ x2="178" y2="75"/> │
23:19:16 #4391 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424" │
23:19:16 #4392 [Debug] > │ x2="186" y2="75"/> │
23:19:16 #4393 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
23:19:16 #4394 [Debug] > │ x2="194" y2="75"/> │
23:19:16 #4395 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424" │
23:19:16 #4396 [Debug] > │ x2="203" y2="75"/> │
23:19:16 #4397 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424" │
23:19:16 #4398 [Debug] > │ x2="211" y2="75"/> │
23:19:16 #4399 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:16 #4400 [Debug] > │ x2="219" y2="75"/> │
23:19:16 #4401 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424" │
23:19:16 #4402 [Debug] > │ x2="228" y2="75"/> │
23:19:16 #4403 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424" │
23:19:16 #4404 [Debug] > │ x2="236" y2="75"/> │
23:19:16 #4405 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424" │
23:19:16 #4406 [Debug] > │ x2="244" y2="75"/> │
23:19:16 #4407 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424" │
23:19:16 #4408 [Debug] > │ x2="252" y2="75"/> │
23:19:16 #4409 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:16 #4410 [Debug] > │ x2="261" y2="75"/> │
23:19:16 #4411 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:16 #4412 [Debug] > │ x2="269" y2="75"/> │
23:19:16 #4413 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424" │
23:19:16 #4414 [Debug] > │ x2="277" y2="75"/> │
23:19:16 #4415 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424" │
23:19:16 #4416 [Debug] > │ x2="286" y2="75"/> │
23:19:16 #4417 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424" │
23:19:16 #4418 [Debug] > │ x2="294" y2="75"/> │
23:19:16 #4419 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424" │
23:19:16 #4420 [Debug] > │ x2="302" y2="75"/> │
23:19:16 #4421 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424" │
23:19:16 #4422 [Debug] > │ x2="311" y2="75"/> │
23:19:16 #4423 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:16 #4424 [Debug] > │ x2="319" y2="75"/> │
23:19:16 #4425 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424" │
23:19:16 #4426 [Debug] > │ x2="327" y2="75"/> │
23:19:16 #4427 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424" │
23:19:16 #4428 [Debug] > │ x2="336" y2="75"/> │
23:19:16 #4429 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424" │
23:19:16 #4430 [Debug] > │ x2="344" y2="75"/> │
23:19:16 #4431 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424" │
23:19:16 #4432 [Debug] > │ x2="352" y2="75"/> │
23:19:16 #4433 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424" │
23:19:16 #4434 [Debug] > │ x2="361" y2="75"/> │
23:19:16 #4435 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:16 #4436 [Debug] > │ x2="369" y2="75"/> │
23:19:16 #4437 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424" │
23:19:16 #4438 [Debug] > │ x2="377" y2="75"/> │
23:19:16 #4439 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424" │
23:19:16 #4440 [Debug] > │ x2="386" y2="75"/> │
23:19:16 #4441 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424" │
23:19:16 #4442 [Debug] > │ x2="394" y2="75"/> │
23:19:16 #4443 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424" │
23:19:16 #4444 [Debug] > │ x2="402" y2="75"/> │
23:19:16 #4445 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424" │
23:19:16 #4446 [Debug] > │ x2="410" y2="75"/> │
23:19:16 #4447 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:16 #4448 [Debug] > │ x2="419" y2="75"/> │
23:19:16 #4449 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424" │
23:19:16 #4450 [Debug] > │ x2="427" y2="75"/> │
23:19:16 #4451 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424" │
23:19:16 #4452 [Debug] > │ x2="435" y2="75"/> │
23:19:16 #4453 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424" │
23:19:16 #4454 [Debug] > │ x2="444" y2="75"/> │
23:19:16 #4455 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424" │
23:19:16 #4456 [Debug] > │ x2="452" y2="75"/> │
23:19:16 #4457 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424" │
23:19:16 #4458 [Debug] > │ x2="460" y2="75"/> │
23:19:16 #4459 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:16 #4460 [Debug] > │ x2="469" y2="75"/> │
23:19:16 #4461 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424" │
23:19:16 #4462 [Debug] > │ x2="477" y2="75"/> │
23:19:16 #4463 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424" │
23:19:16 #4464 [Debug] > │ x2="485" y2="75"/> │
23:19:16 #4465 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424" │
23:19:16 #4466 [Debug] > │ x2="494" y2="75"/> │
23:19:16 #4467 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424" │
23:19:16 #4468 [Debug] > │ x2="502" y2="75"/> │
23:19:16 #4469 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424" │
23:19:16 #4470 [Debug] > │ x2="510" y2="75"/> │
23:19:16 #4471 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:16 #4472 [Debug] > │ x2="519" y2="75"/> │
23:19:16 #4473 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424" │
23:19:16 #4474 [Debug] > │ x2="527" y2="75"/> │
23:19:16 #4475 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424" │
23:19:16 #4476 [Debug] > │ x2="535" y2="75"/> │
23:19:16 #4477 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424" │
23:19:16 #4478 [Debug] > │ x2="544" y2="75"/> │
23:19:16 #4479 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424" │
23:19:16 #4480 [Debug] > │ x2="552" y2="75"/> │
23:19:16 #4481 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424" │
23:19:16 #4482 [Debug] > │ x2="560" y2="75"/> │
23:19:16 #4483 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:16 #4484 [Debug] > │ x2="569" y2="75"/> │
23:19:16 #4485 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424" │
23:19:16 #4486 [Debug] > │ x2="577" y2="75"/> │
23:19:16 #4487 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:16 #4488 [Debug] > │ x2="584" y2="415"/> │
23:19:16 #4489 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="401" │
23:19:16 #4490 [Debug] > │ x2="584" y2="401"/> │
23:19:16 #4491 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="386" │
23:19:16 #4492 [Debug] > │ x2="584" y2="386"/> │
23:19:16 #4493 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="372" │
23:19:16 #4494 [Debug] > │ x2="584" y2="372"/> │
23:19:16 #4495 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="358" │
23:19:16 #4496 [Debug] > │ x2="584" y2="358"/> │
23:19:16 #4497 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="344" │
23:19:16 #4498 [Debug] > │ x2="584" y2="344"/> │
23:19:16 #4499 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="330" │
23:19:16 #4500 [Debug] > │ x2="584" y2="330"/> │
23:19:16 #4501 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316" │
23:19:16 #4502 [Debug] > │ x2="584" y2="316"/> │
23:19:16 #4503 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="302" │
23:19:16 #4504 [Debug] > │ x2="584" y2="302"/> │
23:19:16 #4505 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="288" │
23:19:16 #4506 [Debug] > │ x2="584" y2="288"/> │
23:19:16 #4507 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273" │
23:19:16 #4508 [Debug] > │ x2="584" y2="273"/> │
23:19:16 #4509 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="259" │
23:19:16 #4510 [Debug] > │ x2="584" y2="259"/> │
23:19:16 #4511 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="245" │
23:19:16 #4512 [Debug] > │ x2="584" y2="245"/> │
23:19:16 #4513 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="231" │
23:19:16 #4514 [Debug] > │ x2="584" y2="231"/> │
23:19:16 #4515 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217" │
23:19:16 #4516 [Debug] > │ x2="584" y2="217"/> │
23:19:16 #4517 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="203" │
23:19:16 #4518 [Debug] > │ x2="584" y2="203"/> │
23:19:16 #4519 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="189" │
23:19:16 #4520 [Debug] > │ x2="584" y2="189"/> │
23:19:16 #4521 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="175" │
23:19:16 #4522 [Debug] > │ x2="584" y2="175"/> │
23:19:16 #4523 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="161" │
23:19:16 #4524 [Debug] > │ x2="584" y2="161"/> │
23:19:16 #4525 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="146" │
23:19:16 #4526 [Debug] > │ x2="584" y2="146"/> │
23:19:16 #4527 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="132" │
23:19:16 #4528 [Debug] > │ x2="584" y2="132"/> │
23:19:16 #4529 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:16 #4530 [Debug] > │ x2="584" y2="118"/> │
23:19:16 #4531 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="104" │
23:19:16 #4532 [Debug] > │ x2="584" y2="104"/> │
23:19:16 #4533 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="90" x2="584" │
23:19:16 #4534 [Debug] > │ y2="90"/> │
23:19:16 #4535 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="76" x2="584" │
23:19:16 #4536 [Debug] > │ y2="76"/> │
23:19:16 #4537 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:16 #4538 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4539 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4540 [Debug] > │ time (s) │
23:19:16 #4541 [Debug] > │ </text> │
23:19:16 #4542 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:16 #4543 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4544 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:16 #4545 [Debug] > │ │
23:19:16 #4546 [Debug] > │ </text> │
23:19:16 #4547 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4548 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4549 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4550 [Debug] > │ time (s) │
23:19:16 #4551 [Debug] > │ </text> │
23:19:16 #4552 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:16 #4553 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4554 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:16 #4555 [Debug] > │ │
23:19:16 #4556 [Debug] > │ </text> │
23:19:16 #4557 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:16 #4558 [Debug] > │ y2="75"/> │
23:19:16 #4559 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="111" y1="424" │
23:19:16 #4560 [Debug] > │ x2="111" y2="75"/> │
23:19:16 #4561 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="153" y1="424" │
23:19:16 #4562 [Debug] > │ x2="153" y2="75"/> │
23:19:16 #4563 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="194" y1="424" │
23:19:16 #4564 [Debug] > │ x2="194" y2="75"/> │
23:19:16 #4565 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424" │
23:19:16 #4566 [Debug] > │ x2="236" y2="75"/> │
23:19:16 #4567 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="277" y1="424" │
23:19:16 #4568 [Debug] > │ x2="277" y2="75"/> │
23:19:16 #4569 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:16 #4570 [Debug] > │ x2="319" y2="75"/> │
23:19:16 #4571 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="361" y1="424" │
23:19:16 #4572 [Debug] > │ x2="361" y2="75"/> │
23:19:16 #4573 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424" │
23:19:16 #4574 [Debug] > │ x2="402" y2="75"/> │
23:19:16 #4575 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="444" y1="424" │
23:19:16 #4576 [Debug] > │ x2="444" y2="75"/> │
23:19:16 #4577 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="485" y1="424" │
23:19:16 #4578 [Debug] > │ x2="485" y2="75"/> │
23:19:16 #4579 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="527" y1="424" │
23:19:16 #4580 [Debug] > │ x2="527" y2="75"/> │
23:19:16 #4581 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:16 #4582 [Debug] > │ x2="569" y2="75"/> │
23:19:16 #4583 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:16 #4584 [Debug] > │ x2="584" y2="415"/> │
23:19:16 #4585 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="358" │
23:19:16 #4586 [Debug] > │ x2="584" y2="358"/> │
23:19:16 #4587 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="302" │
23:19:16 #4588 [Debug] > │ x2="584" y2="302"/> │
23:19:16 #4589 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="245" │
23:19:16 #4590 [Debug] > │ x2="584" y2="245"/> │
23:19:16 #4591 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="189" │
23:19:16 #4592 [Debug] > │ x2="584" y2="189"/> │
23:19:16 #4593 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="132" │
23:19:16 #4594 [Debug] > │ x2="584" y2="132"/> │
23:19:16 #4595 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="76" x2="584" │
23:19:16 #4596 [Debug] > │ y2="76"/> │
23:19:16 #4597 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4598 [Debug] > │ points="55,74 584,74 "/> │
23:19:16 #4599 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4600 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4601 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4602 [Debug] > │ 0.0 │
23:19:16 #4603 [Debug] > │ </text> │
23:19:16 #4604 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4605 [Debug] > │ points="69,69 69,74 "/> │
23:19:16 #4606 [Debug] > │ <text x="111" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4607 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4608 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4609 [Debug] > │ 5.0 │
23:19:16 #4610 [Debug] > │ </text> │
23:19:16 #4611 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4612 [Debug] > │ points="111,69 111,74 "/> │
23:19:16 #4613 [Debug] > │ <text x="153" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4614 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4615 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4616 [Debug] > │ 10.0 │
23:19:16 #4617 [Debug] > │ </text> │
23:19:16 #4618 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4619 [Debug] > │ points="153,69 153,74 "/> │
23:19:16 #4620 [Debug] > │ <text x="194" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4621 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4622 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4623 [Debug] > │ 15.0 │
23:19:16 #4624 [Debug] > │ </text> │
23:19:16 #4625 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4626 [Debug] > │ points="194,69 194,74 "/> │
23:19:16 #4627 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4628 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4629 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4630 [Debug] > │ 20.0 │
23:19:16 #4631 [Debug] > │ </text> │
23:19:16 #4632 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4633 [Debug] > │ points="236,69 236,74 "/> │
23:19:16 #4634 [Debug] > │ <text x="277" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4635 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4636 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4637 [Debug] > │ 25.0 │
23:19:16 #4638 [Debug] > │ </text> │
23:19:16 #4639 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4640 [Debug] > │ points="277,69 277,74 "/> │
23:19:16 #4641 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4642 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4643 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4644 [Debug] > │ 30.0 │
23:19:16 #4645 [Debug] > │ </text> │
23:19:16 #4646 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4647 [Debug] > │ points="319,69 319,74 "/> │
23:19:16 #4648 [Debug] > │ <text x="361" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4649 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4650 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4651 [Debug] > │ 35.0 │
23:19:16 #4652 [Debug] > │ </text> │
23:19:16 #4653 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4654 [Debug] > │ points="361,69 361,74 "/> │
23:19:16 #4655 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4656 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4657 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4658 [Debug] > │ 40.0 │
23:19:16 #4659 [Debug] > │ </text> │
23:19:16 #4660 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4661 [Debug] > │ points="402,69 402,74 "/> │
23:19:16 #4662 [Debug] > │ <text x="444" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4663 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4664 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4665 [Debug] > │ 45.0 │
23:19:16 #4666 [Debug] > │ </text> │
23:19:16 #4667 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4668 [Debug] > │ points="444,69 444,74 "/> │
23:19:16 #4669 [Debug] > │ <text x="485" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4670 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4671 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4672 [Debug] > │ 50.0 │
23:19:16 #4673 [Debug] > │ </text> │
23:19:16 #4674 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4675 [Debug] > │ points="485,69 485,74 "/> │
23:19:16 #4676 [Debug] > │ <text x="527" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4677 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4678 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4679 [Debug] > │ 55.0 │
23:19:16 #4680 [Debug] > │ </text> │
23:19:16 #4681 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4682 [Debug] > │ points="527,69 527,74 "/> │
23:19:16 #4683 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:16 #4684 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4685 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4686 [Debug] > │ 60.0 │
23:19:16 #4687 [Debug] > │ </text> │
23:19:16 #4688 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4689 [Debug] > │ points="569,69 569,74 "/> │
23:19:16 #4690 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4691 [Debug] > │ points="54,75 54,424 "/> │
23:19:16 #4692 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4693 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4694 [Debug] > │ 0.0 │
23:19:16 #4695 [Debug] > │ </text> │
23:19:16 #4696 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4697 [Debug] > │ points="49,415 54,415 "/> │
23:19:16 #4698 [Debug] > │ <text x="45" y="358" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4699 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4700 [Debug] > │ 2.0 │
23:19:16 #4701 [Debug] > │ </text> │
23:19:16 #4702 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4703 [Debug] > │ points="49,358 54,358 "/> │
23:19:16 #4704 [Debug] > │ <text x="45" y="302" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4705 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4706 [Debug] > │ 4.0 │
23:19:16 #4707 [Debug] > │ </text> │
23:19:16 #4708 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4709 [Debug] > │ points="49,302 54,302 "/> │
23:19:16 #4710 [Debug] > │ <text x="45" y="245" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4711 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4712 [Debug] > │ 6.0 │
23:19:16 #4713 [Debug] > │ </text> │
23:19:16 #4714 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4715 [Debug] > │ points="49,245 54,245 "/> │
23:19:16 #4716 [Debug] > │ <text x="45" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4717 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4718 [Debug] > │ 8.0 │
23:19:16 #4719 [Debug] > │ </text> │
23:19:16 #4720 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4721 [Debug] > │ points="49,189 54,189 "/> │
23:19:16 #4722 [Debug] > │ <text x="45" y="132" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4723 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4724 [Debug] > │ 10.0 │
23:19:16 #4725 [Debug] > │ </text> │
23:19:16 #4726 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4727 [Debug] > │ points="49,132 54,132 "/> │
23:19:16 #4728 [Debug] > │ <text x="45" y="76" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4729 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4730 [Debug] > │ 12.0 │
23:19:16 #4731 [Debug] > │ </text> │
23:19:16 #4732 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4733 [Debug] > │ points="49,76 54,76 "/> │
23:19:16 #4734 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4735 [Debug] > │ points="55,425 584,425 "/> │
23:19:16 #4736 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4737 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4738 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4739 [Debug] > │ 0.0 │
23:19:16 #4740 [Debug] > │ </text> │
23:19:16 #4741 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4742 [Debug] > │ points="69,425 69,430 "/> │
23:19:16 #4743 [Debug] > │ <text x="111" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4744 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4745 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4746 [Debug] > │ 5.0 │
23:19:16 #4747 [Debug] > │ </text> │
23:19:16 #4748 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4749 [Debug] > │ points="111,425 111,430 "/> │
23:19:16 #4750 [Debug] > │ <text x="153" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4751 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4752 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4753 [Debug] > │ 10.0 │
23:19:16 #4754 [Debug] > │ </text> │
23:19:16 #4755 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4756 [Debug] > │ points="153,425 153,430 "/> │
23:19:16 #4757 [Debug] > │ <text x="194" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4758 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4759 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4760 [Debug] > │ 15.0 │
23:19:16 #4761 [Debug] > │ </text> │
23:19:16 #4762 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4763 [Debug] > │ points="194,425 194,430 "/> │
23:19:16 #4764 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4765 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4766 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4767 [Debug] > │ 20.0 │
23:19:16 #4768 [Debug] > │ </text> │
23:19:16 #4769 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4770 [Debug] > │ points="236,425 236,430 "/> │
23:19:16 #4771 [Debug] > │ <text x="277" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4772 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4773 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4774 [Debug] > │ 25.0 │
23:19:16 #4775 [Debug] > │ </text> │
23:19:16 #4776 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4777 [Debug] > │ points="277,425 277,430 "/> │
23:19:16 #4778 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4779 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4780 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4781 [Debug] > │ 30.0 │
23:19:16 #4782 [Debug] > │ </text> │
23:19:16 #4783 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4784 [Debug] > │ points="319,425 319,430 "/> │
23:19:16 #4785 [Debug] > │ <text x="361" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4786 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4787 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4788 [Debug] > │ 35.0 │
23:19:16 #4789 [Debug] > │ </text> │
23:19:16 #4790 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4791 [Debug] > │ points="361,425 361,430 "/> │
23:19:16 #4792 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4793 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4794 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4795 [Debug] > │ 40.0 │
23:19:16 #4796 [Debug] > │ </text> │
23:19:16 #4797 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4798 [Debug] > │ points="402,425 402,430 "/> │
23:19:16 #4799 [Debug] > │ <text x="444" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4800 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4801 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4802 [Debug] > │ 45.0 │
23:19:16 #4803 [Debug] > │ </text> │
23:19:16 #4804 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4805 [Debug] > │ points="444,425 444,430 "/> │
23:19:16 #4806 [Debug] > │ <text x="485" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4807 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4808 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4809 [Debug] > │ 50.0 │
23:19:16 #4810 [Debug] > │ </text> │
23:19:16 #4811 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4812 [Debug] > │ points="485,425 485,430 "/> │
23:19:16 #4813 [Debug] > │ <text x="527" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4814 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4815 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4816 [Debug] > │ 55.0 │
23:19:16 #4817 [Debug] > │ </text> │
23:19:16 #4818 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4819 [Debug] > │ points="527,425 527,430 "/> │
23:19:16 #4820 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:16 #4821 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4822 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4823 [Debug] > │ 60.0 │
23:19:16 #4824 [Debug] > │ </text> │
23:19:16 #4825 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4826 [Debug] > │ points="569,425 569,430 "/> │
23:19:16 #4827 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4828 [Debug] > │ points="585,75 585,424 "/> │
23:19:16 #4829 [Debug] > │ <text x="617" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4830 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4831 [Debug] > │ 0.0 │
23:19:16 #4832 [Debug] > │ </text> │
23:19:16 #4833 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4834 [Debug] > │ points="585,415 590,415 "/> │
23:19:16 #4835 [Debug] > │ <text x="617" y="358" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4836 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4837 [Debug] > │ 2.0 │
23:19:16 #4838 [Debug] > │ </text> │
23:19:16 #4839 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4840 [Debug] > │ points="585,358 590,358 "/> │
23:19:16 #4841 [Debug] > │ <text x="617" y="302" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4842 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4843 [Debug] > │ 4.0 │
23:19:16 #4844 [Debug] > │ </text> │
23:19:16 #4845 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4846 [Debug] > │ points="585,302 590,302 "/> │
23:19:16 #4847 [Debug] > │ <text x="617" y="245" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4848 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4849 [Debug] > │ 6.0 │
23:19:16 #4850 [Debug] > │ </text> │
23:19:16 #4851 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4852 [Debug] > │ points="585,245 590,245 "/> │
23:19:16 #4853 [Debug] > │ <text x="617" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:16 #4854 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4855 [Debug] > │ 8.0 │
23:19:16 #4856 [Debug] > │ </text> │
23:19:16 #4857 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4858 [Debug] > │ points="585,189 590,189 "/> │
23:19:16 #4859 [Debug] > │ <text x="595" y="132" dy="0.5ex" text-anchor="start" │
23:19:16 #4860 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4861 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4862 [Debug] > │ 10.0 │
23:19:16 #4863 [Debug] > │ </text> │
23:19:16 #4864 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4865 [Debug] > │ points="585,132 590,132 "/> │
23:19:16 #4866 [Debug] > │ <text x="595" y="76" dy="0.5ex" text-anchor="start" font-family="sans-serif" │
23:19:16 #4867 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:16 #4868 [Debug] > │ 12.0 │
23:19:16 #4869 [Debug] > │ </text> │
23:19:16 #4870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:16 #4871 [Debug] > │ points="585,76 590,76 "/> │
23:19:16 #4872 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:16 #4873 [Debug] > │ points="69,415 74,415 78,374 82,335 86,335 90,335 94,297 99,261 103,261 │
23:19:16 #4874 [Debug] > │ 107,261 111,230 115,202 119,202 124,202 128,179 132,159 136,159 140,159 │
23:19:16 #4875 [Debug] > │ 144,143 148,130 153,130 157,130 161,120 165,112 169,112 173,112 178,106 │
23:19:16 #4876 [Debug] > │ 182,101 186,101 190,101 194,97 198,94 203,94 207,94 211,92 215,91 219,91 │
23:19:16 #4877 [Debug] > │ 223,91 228,89 232,88 236,88 240,88 244,88 248,87 252,87 257,87 261,87 265,86 │
23:19:16 #4878 [Debug] > │ 269,86 273,86 277,86 282,86 286,86 290,86 294,86 298,86 302,86 307,86 311,86 │
23:19:16 #4879 [Debug] > │ 315,86 319,86 323,86 327,86 331,85 336,85 340,85 344,85 348,85 352,85 356,85 │
23:19:16 #4880 [Debug] > │ 361,85 365,85 369,85 373,85 377,85 381,85 386,85 390,85 394,85 398,85 402,85 │
23:19:16 #4881 [Debug] > │ 406,85 410,85 415,85 419,85 423,85 427,85 431,85 435,85 440,85 444,85 448,85 │
23:19:16 #4882 [Debug] > │ 452,85 456,85 460,85 465,85 469,85 473,85 477,85 481,85 485,85 490,85 494,85 │
23:19:16 #4883 [Debug] > │ 498,85 502,85 506,85 510,85 514,85 519,85 523,85 527,85 531,85 535,85 539,85 │
23:19:16 #4884 [Debug] > │ 544,85 548,85 552,85 556,85 560,85 564,85 569,85 "/> │
23:19:16 #4885 [Debug] > │ <rect x="410" y="235" width="170" height="30" opacity="1" fill="none" │
23:19:16 #4886 [Debug] > │ stroke="#FFFFFF"/> │
23:19:16 #4887 [Debug] > │ <text x="450" y="245" dy="0.76em" text-anchor="start" │
23:19:16 #4888 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:16 #4889 [Debug] > │ fill="#FFFFFF"> │
23:19:16 #4890 [Debug] > │ velocity of bike (m/s) │
23:19:16 #4891 [Debug] > │ </text> │
23:19:16 #4892 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:16 #4893 [Debug] > │ points="420,250 440,250 "/> │
23:19:16 #4894 [Debug] > │ </svg> │
23:19:16 #4895 [Debug] > │ │
23:19:16 #4896 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4897 [Debug] >
23:19:16 #4898 [Debug] > ╭─[ 441.63ms - stdout ]────────────────────────────────────────────────────────╮
23:19:16 #4899 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:16 #4900 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:16 #4901 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:16 #4902 [Debug] > │ let v2 : bool = v1 < 121 │
23:19:16 #4903 [Debug] > │ v2 │
23:19:16 #4904 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:16 #4905 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:16 #4906 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:16 #4907 [Debug] > │ v3 │
23:19:16 #4908 [Debug] > │ and method3 (v0 : float, v1 : float) : float = │
23:19:16 #4909 [Debug] > │ let v2 : bool = v1 <= 0.0 │
23:19:16 #4910 [Debug] > │ if v2 then │
23:19:16 #4911 [Debug] > │ v0 │
23:19:16 #4912 [Debug] > │ else │
23:19:16 #4913 [Debug] > │ let v3 : float = -v0 │
23:19:16 #4914 [Debug] > │ let v4 : bool = v0 >= v3 │
23:19:16 #4915 [Debug] > │ let v5 : float = │
23:19:16 #4916 [Debug] > │ if v4 then │
23:19:16 #4917 [Debug] > │ v0 │
23:19:16 #4918 [Debug] > │ else │
23:19:16 #4919 [Debug] > │ v3 │
23:19:16 #4920 [Debug] > │ let v6 : float = -1.47 * v5 │
23:19:16 #4921 [Debug] > │ let v7 : float = v6 * v0 │
23:19:16 #4922 [Debug] > │ let v8 : float = v7 / 2.0 │
23:19:16 #4923 [Debug] > │ let v9 : float = 100.0 + v8 │
23:19:16 #4924 [Debug] > │ let v10 : float = v9 / 70.0 │
23:19:16 #4925 [Debug] > │ let v11 : float = v0 + v10 │
23:19:16 #4926 [Debug] > │ let v12 : float = v1 - 1.0 │
23:19:16 #4927 [Debug] > │ method3(v11, v12) │
23:19:16 #4928 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:16 #4929 [Debug] > │ []) * (float [])) [])) = │
23:19:16 #4930 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (121) │
23:19:16 #4931 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:16 #4932 [Debug] > │ while method1(v1) do │
23:19:16 #4933 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:16 #4934 [Debug] > │ let v4 : float = float v3 │
23:19:16 #4935 [Debug] > │ let v5 : float = 0.5 * v4 │
23:19:16 #4936 [Debug] > │ v0.[int v3] <- v5 │
23:19:16 #4937 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:16 #4938 [Debug] > │ v1.l0 <- v6 │
23:19:16 #4939 [Debug] > │ () │
23:19:16 #4940 [Debug] > │ let v7 : int32 = v0.Length │
23:19:16 #4941 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:16 #4942 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:16 #4943 [Debug] > │ while method2(v7, v9) do │
23:19:16 #4944 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:16 #4945 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:16 #4946 [Debug] > │ let v13 : float = round v12 │
23:19:16 #4947 [Debug] > │ let v14 : float = -v13 │
23:19:16 #4948 [Debug] > │ let v15 : bool = v13 >= v14 │
23:19:16 #4949 [Debug] > │ let v16 : float = │
23:19:16 #4950 [Debug] > │ if v15 then │
23:19:16 #4951 [Debug] > │ v13 │
23:19:16 #4952 [Debug] > │ else │
23:19:16 #4953 [Debug] > │ v14 │
23:19:16 #4954 [Debug] > │ let v17 : float = 0.0 │
23:19:16 #4955 [Debug] > │ let v18 : float = method3(v17, v16) │
23:19:16 #4956 [Debug] > │ v8.[int v11] <- v18 │
23:19:16 #4957 [Debug] > │ let v19 : int32 = v11 + 1 │
23:19:16 #4958 [Debug] > │ v9.l0 <- v19 │
23:19:16 #4959 [Debug] > │ () │
23:19:16 #4960 [Debug] > │ let v20 : string = "velocity of bike (m/s)" │
23:19:16 #4961 [Debug] > │ let v21 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:16 #4962 [Debug] > │ (v20, v0, v8)|] │
23:19:16 #4963 [Debug] > │ let v22 : string = "bike velocity" │
23:19:16 #4964 [Debug] > │ let v23 : string = "time (s)" │
23:19:16 #4965 [Debug] > │ let v24 : string = "" │
23:19:16 #4966 [Debug] > │ struct (v22, v23, v24, v21) │
23:19:16 #4967 [Debug] > │ method0() │
23:19:16 #4968 [Debug] > │ │
23:19:16 #4969 [Debug] > │ │
23:19:16 #4970 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4971 [Debug] >
23:19:16 #4972 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:16 #4973 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:16 #4974 [Debug] > │ ## velocity_ftv │
23:19:16 #4975 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4976 [Debug] >
23:19:16 #4977 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:16 #4978 [Debug] > inl newton_second_tv m fs (t, v0) =
23:19:16 #4979 [Debug] > inl f_net = fs |> listm.map (fun f => f (t, v0)) |> listm'.sum
23:19:16 #4980 [Debug] > inl acc = f_net / m
23:19:16 #4981 [Debug] > 1, acc
23:19:16 #4982 [Debug] >
23:19:16 #4983 [Debug] > inl update_tv dt m fs (t, v0) =
23:19:16 #4984 [Debug] > inl dtdt, dvdt = newton_second_tv m fs (t, v0)
23:19:16 #4985 [Debug] > t + dtdt * dt, v0 + dvdt * dt
23:19:16 #4986 [Debug] >
23:19:16 #4987 [Debug] > inl velocity_ftv dt m tv0 fs t =
23:19:16 #4988 [Debug] > t / dt |> math.round |> abs
23:19:16 #4989 [Debug] > |> seq.iterate_ (update_tv dt m fs) tv0
23:19:16 #4990 [Debug] > |> snd
23:19:16 #4991 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1679-7985-7ec815910234\main.spi
23:19:16 #4992 [Debug] >
23:19:16 #4993 [Debug] > ╭─[ 128.31ms - stdout ]────────────────────────────────────────────────────────╮
23:19:16 #4994 [Debug] > │ () │
23:19:16 #4995 [Debug] > │ │
23:19:16 #4996 [Debug] > │ │
23:19:16 #4997 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:16 #4998 [Debug] >
23:19:16 #4999 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:16 #5000 [Debug] > // // test
23:19:16 #5001 [Debug] >
23:19:16 #5002 [Debug] > inl x = am'.init_series 0 100 0.1
23:19:16 #5003 [Debug] > inl y =
23:19:16 #5004 [Debug] > x
23:19:16 #5005 [Debug] > |> am.map (
23:19:16 #5006 [Debug] > velocity_ftv 0.1 20 (0, 0) [[ fun (t, _) => pedal_coast t; fun (_, v) =>
23:19:16 #5007 [Debug] > f_air 2 1.225 0.5 v ]]
23:19:16 #5008 [Debug] > )
23:19:16 #5009 [Debug] > "pedaling and coasting with air", "time (s)", "", ;[[ "velocity of bike (m/s)",
23:19:16 #5010 [Debug] > x, y ]]
23:19:17 #5011 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1692-9291-91254c6f5238\main.spi
23:19:17 #5012 [Debug] >
23:19:17 #5013 [Debug] > ╭─[ 292.69ms - return value ]──────────────────────────────────────────────────╮
23:19:17 #5014 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:17 #5015 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:17 #5016 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:17 #5017 [Debug] > │ stroke="none"/> │
23:19:17 #5018 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:17 #5019 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5020 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5021 [Debug] > │ pedaling and coasting with air │
23:19:17 #5022 [Debug] > │ </text> │
23:19:17 #5023 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:17 #5024 [Debug] > │ y2="75"/> │
23:19:17 #5025 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:17 #5026 [Debug] > │ y2="75"/> │
23:19:17 #5027 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:17 #5028 [Debug] > │ y2="75"/> │
23:19:17 #5029 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:17 #5030 [Debug] > │ y2="75"/> │
23:19:17 #5031 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:17 #5032 [Debug] > │ y2="75"/> │
23:19:17 #5033 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:17 #5034 [Debug] > │ x2="109" y2="75"/> │
23:19:17 #5035 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:17 #5036 [Debug] > │ x2="119" y2="75"/> │
23:19:17 #5037 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:17 #5038 [Debug] > │ x2="129" y2="75"/> │
23:19:17 #5039 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:17 #5040 [Debug] > │ x2="139" y2="75"/> │
23:19:17 #5041 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:17 #5042 [Debug] > │ x2="149" y2="75"/> │
23:19:17 #5043 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:17 #5044 [Debug] > │ x2="159" y2="75"/> │
23:19:17 #5045 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:17 #5046 [Debug] > │ x2="169" y2="75"/> │
23:19:17 #5047 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:17 #5048 [Debug] > │ x2="179" y2="75"/> │
23:19:17 #5049 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:17 #5050 [Debug] > │ x2="189" y2="75"/> │
23:19:17 #5051 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:17 #5052 [Debug] > │ x2="199" y2="75"/> │
23:19:17 #5053 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:17 #5054 [Debug] > │ x2="209" y2="75"/> │
23:19:17 #5055 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:17 #5056 [Debug] > │ x2="219" y2="75"/> │
23:19:17 #5057 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:17 #5058 [Debug] > │ x2="229" y2="75"/> │
23:19:17 #5059 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:17 #5060 [Debug] > │ x2="239" y2="75"/> │
23:19:17 #5061 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:17 #5062 [Debug] > │ x2="249" y2="75"/> │
23:19:17 #5063 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:17 #5064 [Debug] > │ x2="259" y2="75"/> │
23:19:17 #5065 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:17 #5066 [Debug] > │ x2="269" y2="75"/> │
23:19:17 #5067 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:17 #5068 [Debug] > │ x2="279" y2="75"/> │
23:19:17 #5069 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:17 #5070 [Debug] > │ x2="289" y2="75"/> │
23:19:17 #5071 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:17 #5072 [Debug] > │ x2="299" y2="75"/> │
23:19:17 #5073 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:17 #5074 [Debug] > │ x2="309" y2="75"/> │
23:19:17 #5075 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:17 #5076 [Debug] > │ x2="319" y2="75"/> │
23:19:17 #5077 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:17 #5078 [Debug] > │ x2="329" y2="75"/> │
23:19:17 #5079 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:17 #5080 [Debug] > │ x2="339" y2="75"/> │
23:19:17 #5081 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:17 #5082 [Debug] > │ x2="349" y2="75"/> │
23:19:17 #5083 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:17 #5084 [Debug] > │ x2="359" y2="75"/> │
23:19:17 #5085 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:17 #5086 [Debug] > │ x2="369" y2="75"/> │
23:19:17 #5087 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:17 #5088 [Debug] > │ x2="379" y2="75"/> │
23:19:17 #5089 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:17 #5090 [Debug] > │ x2="389" y2="75"/> │
23:19:17 #5091 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:17 #5092 [Debug] > │ x2="399" y2="75"/> │
23:19:17 #5093 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:17 #5094 [Debug] > │ x2="409" y2="75"/> │
23:19:17 #5095 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:17 #5096 [Debug] > │ x2="419" y2="75"/> │
23:19:17 #5097 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:17 #5098 [Debug] > │ x2="429" y2="75"/> │
23:19:17 #5099 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:17 #5100 [Debug] > │ x2="439" y2="75"/> │
23:19:17 #5101 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:17 #5102 [Debug] > │ x2="449" y2="75"/> │
23:19:17 #5103 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:17 #5104 [Debug] > │ x2="459" y2="75"/> │
23:19:17 #5105 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:17 #5106 [Debug] > │ x2="469" y2="75"/> │
23:19:17 #5107 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:17 #5108 [Debug] > │ x2="479" y2="75"/> │
23:19:17 #5109 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:17 #5110 [Debug] > │ x2="489" y2="75"/> │
23:19:17 #5111 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:17 #5112 [Debug] > │ x2="499" y2="75"/> │
23:19:17 #5113 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:17 #5114 [Debug] > │ x2="509" y2="75"/> │
23:19:17 #5115 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:17 #5116 [Debug] > │ x2="519" y2="75"/> │
23:19:17 #5117 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:17 #5118 [Debug] > │ x2="529" y2="75"/> │
23:19:17 #5119 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:17 #5120 [Debug] > │ x2="539" y2="75"/> │
23:19:17 #5121 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:17 #5122 [Debug] > │ x2="549" y2="75"/> │
23:19:17 #5123 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:17 #5124 [Debug] > │ x2="559" y2="75"/> │
23:19:17 #5125 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:17 #5126 [Debug] > │ x2="569" y2="75"/> │
23:19:17 #5127 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424" │
23:19:17 #5128 [Debug] > │ x2="579" y2="75"/> │
23:19:17 #5129 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="423" │
23:19:17 #5130 [Debug] > │ x2="584" y2="423"/> │
23:19:17 #5131 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:17 #5132 [Debug] > │ x2="584" y2="415"/> │
23:19:17 #5133 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="406" │
23:19:17 #5134 [Debug] > │ x2="584" y2="406"/> │
23:19:17 #5135 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="397" │
23:19:17 #5136 [Debug] > │ x2="584" y2="397"/> │
23:19:17 #5137 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="389" │
23:19:17 #5138 [Debug] > │ x2="584" y2="389"/> │
23:19:17 #5139 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380" │
23:19:17 #5140 [Debug] > │ x2="584" y2="380"/> │
23:19:17 #5141 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="371" │
23:19:17 #5142 [Debug] > │ x2="584" y2="371"/> │
23:19:17 #5143 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="362" │
23:19:17 #5144 [Debug] > │ x2="584" y2="362"/> │
23:19:17 #5145 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="354" │
23:19:17 #5146 [Debug] > │ x2="584" y2="354"/> │
23:19:17 #5147 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="345" │
23:19:17 #5148 [Debug] > │ x2="584" y2="345"/> │
23:19:17 #5149 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="336" │
23:19:17 #5150 [Debug] > │ x2="584" y2="336"/> │
23:19:17 #5151 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="328" │
23:19:17 #5152 [Debug] > │ x2="584" y2="328"/> │
23:19:17 #5153 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="319" │
23:19:17 #5154 [Debug] > │ x2="584" y2="319"/> │
23:19:17 #5155 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="310" │
23:19:17 #5156 [Debug] > │ x2="584" y2="310"/> │
23:19:17 #5157 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="302" │
23:19:17 #5158 [Debug] > │ x2="584" y2="302"/> │
23:19:17 #5159 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="293" │
23:19:17 #5160 [Debug] > │ x2="584" y2="293"/> │
23:19:17 #5161 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="284" │
23:19:17 #5162 [Debug] > │ x2="584" y2="284"/> │
23:19:17 #5163 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="275" │
23:19:17 #5164 [Debug] > │ x2="584" y2="275"/> │
23:19:17 #5165 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="267" │
23:19:17 #5166 [Debug] > │ x2="584" y2="267"/> │
23:19:17 #5167 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="258" │
23:19:17 #5168 [Debug] > │ x2="584" y2="258"/> │
23:19:17 #5169 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="249" │
23:19:17 #5170 [Debug] > │ x2="584" y2="249"/> │
23:19:17 #5171 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="241" │
23:19:17 #5172 [Debug] > │ x2="584" y2="241"/> │
23:19:17 #5173 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="232" │
23:19:17 #5174 [Debug] > │ x2="584" y2="232"/> │
23:19:17 #5175 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="223" │
23:19:17 #5176 [Debug] > │ x2="584" y2="223"/> │
23:19:17 #5177 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="215" │
23:19:17 #5178 [Debug] > │ x2="584" y2="215"/> │
23:19:17 #5179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="206" │
23:19:17 #5180 [Debug] > │ x2="584" y2="206"/> │
23:19:17 #5181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="197" │
23:19:17 #5182 [Debug] > │ x2="584" y2="197"/> │
23:19:17 #5183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="188" │
23:19:17 #5184 [Debug] > │ x2="584" y2="188"/> │
23:19:17 #5185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="180" │
23:19:17 #5186 [Debug] > │ x2="584" y2="180"/> │
23:19:17 #5187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="171" │
23:19:17 #5188 [Debug] > │ x2="584" y2="171"/> │
23:19:17 #5189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="162" │
23:19:17 #5190 [Debug] > │ x2="584" y2="162"/> │
23:19:17 #5191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="154" │
23:19:17 #5192 [Debug] > │ x2="584" y2="154"/> │
23:19:17 #5193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="145" │
23:19:17 #5194 [Debug] > │ x2="584" y2="145"/> │
23:19:17 #5195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="136" │
23:19:17 #5196 [Debug] > │ x2="584" y2="136"/> │
23:19:17 #5197 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="128" │
23:19:17 #5198 [Debug] > │ x2="584" y2="128"/> │
23:19:17 #5199 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="119" │
23:19:17 #5200 [Debug] > │ x2="584" y2="119"/> │
23:19:17 #5201 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="110" │
23:19:17 #5202 [Debug] > │ x2="584" y2="110"/> │
23:19:17 #5203 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102" │
23:19:17 #5204 [Debug] > │ x2="584" y2="102"/> │
23:19:17 #5205 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="93" x2="584" │
23:19:17 #5206 [Debug] > │ y2="93"/> │
23:19:17 #5207 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:17 #5208 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5209 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5210 [Debug] > │ time (s) │
23:19:17 #5211 [Debug] > │ </text> │
23:19:17 #5212 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:17 #5213 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5214 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:17 #5215 [Debug] > │ │
23:19:17 #5216 [Debug] > │ </text> │
23:19:17 #5217 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5218 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5219 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5220 [Debug] > │ time (s) │
23:19:17 #5221 [Debug] > │ </text> │
23:19:17 #5222 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:17 #5223 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5224 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:17 #5225 [Debug] > │ │
23:19:17 #5226 [Debug] > │ </text> │
23:19:17 #5227 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:17 #5228 [Debug] > │ y2="75"/> │
23:19:17 #5229 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:17 #5230 [Debug] > │ x2="119" y2="75"/> │
23:19:17 #5231 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:17 #5232 [Debug] > │ x2="169" y2="75"/> │
23:19:17 #5233 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:17 #5234 [Debug] > │ x2="219" y2="75"/> │
23:19:17 #5235 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:17 #5236 [Debug] > │ x2="269" y2="75"/> │
23:19:17 #5237 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:17 #5238 [Debug] > │ x2="319" y2="75"/> │
23:19:17 #5239 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:17 #5240 [Debug] > │ x2="369" y2="75"/> │
23:19:17 #5241 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:17 #5242 [Debug] > │ x2="419" y2="75"/> │
23:19:17 #5243 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:17 #5244 [Debug] > │ x2="469" y2="75"/> │
23:19:17 #5245 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:17 #5246 [Debug] > │ x2="519" y2="75"/> │
23:19:17 #5247 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:17 #5248 [Debug] > │ x2="569" y2="75"/> │
23:19:17 #5249 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:17 #5250 [Debug] > │ x2="584" y2="415"/> │
23:19:17 #5251 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="371" │
23:19:17 #5252 [Debug] > │ x2="584" y2="371"/> │
23:19:17 #5253 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="328" │
23:19:17 #5254 [Debug] > │ x2="584" y2="328"/> │
23:19:17 #5255 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="284" │
23:19:17 #5256 [Debug] > │ x2="584" y2="284"/> │
23:19:17 #5257 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="241" │
23:19:17 #5258 [Debug] > │ x2="584" y2="241"/> │
23:19:17 #5259 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="197" │
23:19:17 #5260 [Debug] > │ x2="584" y2="197"/> │
23:19:17 #5261 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="154" │
23:19:17 #5262 [Debug] > │ x2="584" y2="154"/> │
23:19:17 #5263 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="110" │
23:19:17 #5264 [Debug] > │ x2="584" y2="110"/> │
23:19:17 #5265 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5266 [Debug] > │ points="55,74 584,74 "/> │
23:19:17 #5267 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5268 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5269 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5270 [Debug] > │ 0.0 │
23:19:17 #5271 [Debug] > │ </text> │
23:19:17 #5272 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5273 [Debug] > │ points="69,69 69,74 "/> │
23:19:17 #5274 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5275 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5276 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5277 [Debug] > │ 10.0 │
23:19:17 #5278 [Debug] > │ </text> │
23:19:17 #5279 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5280 [Debug] > │ points="119,69 119,74 "/> │
23:19:17 #5281 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5282 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5283 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5284 [Debug] > │ 20.0 │
23:19:17 #5285 [Debug] > │ </text> │
23:19:17 #5286 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5287 [Debug] > │ points="169,69 169,74 "/> │
23:19:17 #5288 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5289 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5290 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5291 [Debug] > │ 30.0 │
23:19:17 #5292 [Debug] > │ </text> │
23:19:17 #5293 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5294 [Debug] > │ points="219,69 219,74 "/> │
23:19:17 #5295 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5296 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5297 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5298 [Debug] > │ 40.0 │
23:19:17 #5299 [Debug] > │ </text> │
23:19:17 #5300 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5301 [Debug] > │ points="269,69 269,74 "/> │
23:19:17 #5302 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5303 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5304 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5305 [Debug] > │ 50.0 │
23:19:17 #5306 [Debug] > │ </text> │
23:19:17 #5307 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5308 [Debug] > │ points="319,69 319,74 "/> │
23:19:17 #5309 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5310 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5311 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5312 [Debug] > │ 60.0 │
23:19:17 #5313 [Debug] > │ </text> │
23:19:17 #5314 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5315 [Debug] > │ points="369,69 369,74 "/> │
23:19:17 #5316 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5317 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5318 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5319 [Debug] > │ 70.0 │
23:19:17 #5320 [Debug] > │ </text> │
23:19:17 #5321 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5322 [Debug] > │ points="419,69 419,74 "/> │
23:19:17 #5323 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5324 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5325 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5326 [Debug] > │ 80.0 │
23:19:17 #5327 [Debug] > │ </text> │
23:19:17 #5328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5329 [Debug] > │ points="469,69 469,74 "/> │
23:19:17 #5330 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5331 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5332 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5333 [Debug] > │ 90.0 │
23:19:17 #5334 [Debug] > │ </text> │
23:19:17 #5335 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5336 [Debug] > │ points="519,69 519,74 "/> │
23:19:17 #5337 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:17 #5338 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5339 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5340 [Debug] > │ 100.0 │
23:19:17 #5341 [Debug] > │ </text> │
23:19:17 #5342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5343 [Debug] > │ points="569,69 569,74 "/> │
23:19:17 #5344 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5345 [Debug] > │ points="54,75 54,424 "/> │
23:19:17 #5346 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5347 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5348 [Debug] > │ 0.0 │
23:19:17 #5349 [Debug] > │ </text> │
23:19:17 #5350 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5351 [Debug] > │ points="49,415 54,415 "/> │
23:19:17 #5352 [Debug] > │ <text x="45" y="371" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5353 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5354 [Debug] > │ 0.5 │
23:19:17 #5355 [Debug] > │ </text> │
23:19:17 #5356 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5357 [Debug] > │ points="49,371 54,371 "/> │
23:19:17 #5358 [Debug] > │ <text x="45" y="328" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5359 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5360 [Debug] > │ 1.0 │
23:19:17 #5361 [Debug] > │ </text> │
23:19:17 #5362 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5363 [Debug] > │ points="49,328 54,328 "/> │
23:19:17 #5364 [Debug] > │ <text x="45" y="284" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5365 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5366 [Debug] > │ 1.5 │
23:19:17 #5367 [Debug] > │ </text> │
23:19:17 #5368 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5369 [Debug] > │ points="49,284 54,284 "/> │
23:19:17 #5370 [Debug] > │ <text x="45" y="241" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5371 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5372 [Debug] > │ 2.0 │
23:19:17 #5373 [Debug] > │ </text> │
23:19:17 #5374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5375 [Debug] > │ points="49,241 54,241 "/> │
23:19:17 #5376 [Debug] > │ <text x="45" y="197" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5377 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5378 [Debug] > │ 2.5 │
23:19:17 #5379 [Debug] > │ </text> │
23:19:17 #5380 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5381 [Debug] > │ points="49,197 54,197 "/> │
23:19:17 #5382 [Debug] > │ <text x="45" y="154" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5383 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5384 [Debug] > │ 3.0 │
23:19:17 #5385 [Debug] > │ </text> │
23:19:17 #5386 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5387 [Debug] > │ points="49,154 54,154 "/> │
23:19:17 #5388 [Debug] > │ <text x="45" y="110" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:17 #5389 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:17 #5390 [Debug] > │ 3.5 │
23:19:17 #5391 [Debug] > │ </text> │
23:19:17 #5392 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5393 [Debug] > │ points="49,110 54,110 "/> │
23:19:17 #5394 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5395 [Debug] > │ points="55,425 584,425 "/> │
23:19:17 #5396 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5397 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5398 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5399 [Debug] > │ 0.0 │
23:19:17 #5400 [Debug] > │ </text> │
23:19:17 #5401 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5402 [Debug] > │ points="69,425 69,430 "/> │
23:19:17 #5403 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5404 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5405 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5406 [Debug] > │ 10.0 │
23:19:17 #5407 [Debug] > │ </text> │
23:19:17 #5408 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5409 [Debug] > │ points="119,425 119,430 "/> │
23:19:17 #5410 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5411 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5412 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5413 [Debug] > │ 20.0 │
23:19:17 #5414 [Debug] > │ </text> │
23:19:17 #5415 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5416 [Debug] > │ points="169,425 169,430 "/> │
23:19:17 #5417 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5418 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5419 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5420 [Debug] > │ 30.0 │
23:19:17 #5421 [Debug] > │ </text> │
23:19:17 #5422 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5423 [Debug] > │ points="219,425 219,430 "/> │
23:19:17 #5424 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5425 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5426 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5427 [Debug] > │ 40.0 │
23:19:17 #5428 [Debug] > │ </text> │
23:19:17 #5429 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5430 [Debug] > │ points="269,425 269,430 "/> │
23:19:17 #5431 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5432 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5433 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5434 [Debug] > │ 50.0 │
23:19:17 #5435 [Debug] > │ </text> │
23:19:17 #5436 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5437 [Debug] > │ points="319,425 319,430 "/> │
23:19:17 #5438 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5439 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5440 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5441 [Debug] > │ 60.0 │
23:19:17 #5442 [Debug] > │ </text> │
23:19:17 #5443 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5444 [Debug] > │ points="369,425 369,430 "/> │
23:19:17 #5445 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5446 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5447 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5448 [Debug] > │ 70.0 │
23:19:17 #5449 [Debug] > │ </text> │
23:19:17 #5450 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5451 [Debug] > │ points="419,425 419,430 "/> │
23:19:17 #5452 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5453 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5454 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5455 [Debug] > │ 80.0 │
23:19:17 #5456 [Debug] > │ </text> │
23:19:17 #5457 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5458 [Debug] > │ points="469,425 469,430 "/> │
23:19:17 #5459 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5460 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5461 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5462 [Debug] > │ 90.0 │
23:19:17 #5463 [Debug] > │ </text> │
23:19:17 #5464 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5465 [Debug] > │ points="519,425 519,430 "/> │
23:19:17 #5466 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:17 #5467 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5468 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5469 [Debug] > │ 100.0 │
23:19:17 #5470 [Debug] > │ </text> │
23:19:17 #5471 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5472 [Debug] > │ points="569,425 569,430 "/> │
23:19:17 #5473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5474 [Debug] > │ points="585,75 585,424 "/> │
23:19:17 #5475 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start" │
23:19:17 #5476 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5477 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5478 [Debug] > │ 0.0 │
23:19:17 #5479 [Debug] > │ </text> │
23:19:17 #5480 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5481 [Debug] > │ points="585,415 590,415 "/> │
23:19:17 #5482 [Debug] > │ <text x="595" y="371" dy="0.5ex" text-anchor="start" │
23:19:17 #5483 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5484 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5485 [Debug] > │ 0.5 │
23:19:17 #5486 [Debug] > │ </text> │
23:19:17 #5487 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5488 [Debug] > │ points="585,371 590,371 "/> │
23:19:17 #5489 [Debug] > │ <text x="595" y="328" dy="0.5ex" text-anchor="start" │
23:19:17 #5490 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5491 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5492 [Debug] > │ 1.0 │
23:19:17 #5493 [Debug] > │ </text> │
23:19:17 #5494 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5495 [Debug] > │ points="585,328 590,328 "/> │
23:19:17 #5496 [Debug] > │ <text x="595" y="284" dy="0.5ex" text-anchor="start" │
23:19:17 #5497 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5498 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5499 [Debug] > │ 1.5 │
23:19:17 #5500 [Debug] > │ </text> │
23:19:17 #5501 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5502 [Debug] > │ points="585,284 590,284 "/> │
23:19:17 #5503 [Debug] > │ <text x="595" y="241" dy="0.5ex" text-anchor="start" │
23:19:17 #5504 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5505 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5506 [Debug] > │ 2.0 │
23:19:17 #5507 [Debug] > │ </text> │
23:19:17 #5508 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5509 [Debug] > │ points="585,241 590,241 "/> │
23:19:17 #5510 [Debug] > │ <text x="595" y="197" dy="0.5ex" text-anchor="start" │
23:19:17 #5511 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5512 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5513 [Debug] > │ 2.5 │
23:19:17 #5514 [Debug] > │ </text> │
23:19:17 #5515 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5516 [Debug] > │ points="585,197 590,197 "/> │
23:19:17 #5517 [Debug] > │ <text x="595" y="154" dy="0.5ex" text-anchor="start" │
23:19:17 #5518 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5519 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5520 [Debug] > │ 3.0 │
23:19:17 #5521 [Debug] > │ </text> │
23:19:17 #5522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5523 [Debug] > │ points="585,154 590,154 "/> │
23:19:17 #5524 [Debug] > │ <text x="595" y="110" dy="0.5ex" text-anchor="start" │
23:19:17 #5525 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5526 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5527 [Debug] > │ 3.5 │
23:19:17 #5528 [Debug] > │ </text> │
23:19:17 #5529 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:17 #5530 [Debug] > │ points="585,110 590,110 "/> │
23:19:17 #5531 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:17 #5532 [Debug] > │ points="69,415 70,415 70,410 71,406 71,402 72,397 72,393 73,389 73,384 │
23:19:17 #5533 [Debug] > │ 74,380 74,376 75,371 75,367 76,363 76,359 77,354 77,350 78,346 78,342 79,338 │
23:19:17 #5534 [Debug] > │ 79,333 80,329 80,325 81,321 81,317 82,313 82,309 83,305 83,301 84,297 84,293 │
23:19:17 #5535 [Debug] > │ 85,290 85,286 86,282 86,278 87,275 87,271 88,267 88,264 89,260 89,257 90,253 │
23:19:17 #5536 [Debug] > │ 90,250 91,246 91,243 92,240 92,236 93,233 93,230 94,227 94,224 95,221 95,218 │
23:19:17 #5537 [Debug] > │ 96,215 96,212 97,209 97,206 98,203 98,200 99,198 99,195 100,192 100,190 │
23:19:17 #5538 [Debug] > │ 101,187 101,185 102,182 102,180 103,177 103,175 104,173 104,170 105,168 │
23:19:17 #5539 [Debug] > │ 105,166 106,164 106,162 107,159 107,157 108,155 108,153 109,151 109,150 │
23:19:17 #5540 [Debug] > │ 110,148 110,146 111,144 111,142 112,141 112,139 113,137 113,136 114,134 │
23:19:17 #5541 [Debug] > │ 114,132 115,131 115,129 116,128 116,126 117,125 117,124 118,122 118,121 │
23:19:17 #5542 [Debug] > │ 119,120 119,118 120,117 120,120 121,123 121,126 122,129 122,132 123,135 │
23:19:17 #5543 [Debug] > │ 123,138 124,140 124,143 125,145 125,148 126,151 126,153 127,155 127,158 │
23:19:17 #5544 [Debug] > │ 128,160 128,162 129,165 129,167 130,169 130,171 131,173 131,175 132,177 │
23:19:17 #5545 [Debug] > │ 132,179 133,181 133,183 134,185 134,187 135,189 135,190 136,192 136,194 │
23:19:17 #5546 [Debug] > │ 137,196 137,197 138,199 138,201 139,202 139,204 140,205 140,207 141,208 │
23:19:17 #5547 [Debug] > │ 141,210 142,211 142,213 143,214 143,216 144,217 144,219 145,220 145,221 │
23:19:17 #5548 [Debug] > │ 146,223 146,224 147,225 147,226 148,228 148,229 149,230 149,231 150,232 │
23:19:17 #5549 [Debug] > │ 150,234 151,235 151,236 152,237 152,238 153,239 153,240 154,241 154,242 │
23:19:17 #5550 [Debug] > │ 155,244 155,245 156,246 156,247 157,248 157,249 158,250 158,250 159,251 │
23:19:17 #5551 [Debug] > │ 159,252 160,253 160,254 161,255 161,256 162,257 162,258 163,259 163,259 │
23:19:17 #5552 [Debug] > │ 164,260 164,261 165,262 165,263 166,264 166,264 167,265 167,266 168,267 │
23:19:17 #5553 [Debug] > │ 168,268 169,268 169,269 170,265 170,262 171,258 171,255 172,251 172,248 │
23:19:17 #5554 [Debug] > │ 173,245 173,241 174,238 174,235 175,232 175,228 176,225 176,222 177,219 │
23:19:17 #5555 [Debug] > │ 177,216 178,213 178,210 179,207 179,205 180,202 180,199 181,196 181,194 │
23:19:17 #5556 [Debug] > │ 182,191 182,188 183,186 183,183 184,181 184,178 185,176 185,174 186,171 │
23:19:17 #5557 [Debug] > │ 186,169 187,167 187,165 188,163 188,160 189,158 189,156 190,154 190,152 │
23:19:17 #5558 [Debug] > │ 191,150 191,149 192,147 192,145 193,143 193,141 194,140 194,138 195,136 │
23:19:17 #5559 [Debug] > │ 195,135 196,133 196,132 197,130 197,129 198,127 198,126 199,124 199,123 │
23:19:17 #5560 [Debug] > │ 200,121 200,120 201,119 201,118 202,116 202,115 203,114 203,113 204,112 │
23:19:17 #5561 [Debug] > │ 204,111 205,109 205,108 206,107 206,106 207,105 207,104 208,103 208,102 │
23:19:17 #5562 [Debug] > │ 209,101 209,101 210,100 210,99 211,98 211,97 212,96 212,96 213,95 213,94 │
23:19:17 #5563 [Debug] > │ 214,93 214,93 215,92 215,91 216,91 216,90 217,89 217,89 218,88 218,87 219,87 │
23:19:17 #5564 [Debug] > │ 219,86 220,90 220,94 221,97 221,101 222,104 222,108 223,111 223,114 224,118 │
23:19:17 #5565 [Debug] > │ 224,121 225,124 225,127 226,130 226,132 227,135 227,138 228,141 228,143 │
23:19:17 #5566 [Debug] > │ 229,146 229,149 230,151 230,153 231,156 231,158 232,161 232,163 233,165 │
23:19:17 #5567 [Debug] > │ 233,167 234,169 234,171 235,174 235,176 236,178 236,180 237,182 237,183 │
23:19:17 #5568 [Debug] > │ 238,185 238,187 239,189 239,191 240,193 240,194 241,196 241,198 242,199 │
23:19:17 #5569 [Debug] > │ 242,201 243,203 243,204 244,206 244,207 245,209 245,210 246,212 246,213 │
23:19:17 #5570 [Debug] > │ 247,215 247,216 248,217 248,219 249,220 249,221 250,223 250,224 251,225 │
23:19:17 #5571 [Debug] > │ 251,227 252,228 252,229 253,230 253,232 254,233 254,234 255,235 255,236 │
23:19:17 #5572 [Debug] > │ 256,237 256,238 257,239 257,241 258,242 258,243 259,244 259,245 260,246 │
23:19:17 #5573 [Debug] > │ 260,247 261,248 261,249 262,250 262,251 263,252 263,253 264,253 264,254 │
23:19:17 #5574 [Debug] > │ 265,255 265,256 266,257 266,258 267,259 267,260 268,260 268,261 269,262 │
23:19:17 #5575 [Debug] > │ 269,263 270,259 270,256 271,252 271,249 272,246 272,242 273,239 273,236 │
23:19:17 #5576 [Debug] > │ 274,233 274,229 275,226 275,223 276,220 276,217 277,214 277,211 278,208 │
23:19:17 #5577 [Debug] > │ 278,205 279,203 279,200 280,197 280,194 281,192 281,189 282,187 282,184 │
23:19:17 #5578 [Debug] > │ 283,182 283,179 284,177 284,174 285,172 285,170 286,168 286,165 287,163 │
23:19:17 #5579 [Debug] > │ 287,161 288,159 288,157 289,155 289,153 290,151 290,149 291,147 291,145 │
23:19:17 #5580 [Debug] > │ 292,144 292,142 293,140 293,138 294,137 294,135 295,134 295,132 296,130 │
23:19:17 #5581 [Debug] > │ 296,129 297,127 297,126 298,125 298,123 299,122 299,121 300,119 300,118 │
23:19:17 #5582 [Debug] > │ 301,117 301,115 302,114 302,113 303,112 303,111 304,110 304,109 305,108 │
23:19:17 #5583 [Debug] > │ 305,107 306,106 306,105 307,104 307,103 308,102 308,101 309,100 309,99 │
23:19:17 #5584 [Debug] > │ 310,98 310,97 311,97 311,96 312,95 312,94 313,94 313,93 314,92 314,91 315,91 │
23:19:17 #5585 [Debug] > │ 315,90 316,90 316,89 317,88 317,88 318,87 318,87 319,86 319,85 320,89 320,93 │
23:19:17 #5586 [Debug] > │ 320,97 321,100 321,104 322,107 322,110 323,114 323,117 324,120 324,123 │
23:19:17 #5587 [Debug] > │ 325,126 325,129 326,132 326,135 327,137 327,140 328,143 328,145 329,148 │
23:19:17 #5588 [Debug] > │ 329,150 330,153 330,155 331,158 331,160 332,162 332,164 333,167 333,169 │
23:19:17 #5589 [Debug] > │ 334,171 334,173 335,175 335,177 336,179 336,181 337,183 337,185 338,187 │
23:19:17 #5590 [Debug] > │ 338,189 339,190 339,192 340,194 340,196 341,197 341,199 342,201 342,202 │
23:19:17 #5591 [Debug] > │ 343,204 343,205 344,207 344,208 345,210 345,211 346,213 346,214 347,216 │
23:19:17 #5592 [Debug] > │ 347,217 348,218 348,220 349,221 349,222 350,224 350,225 351,226 351,228 │
23:19:17 #5593 [Debug] > │ 352,229 352,230 353,231 353,232 354,234 354,235 355,236 355,237 356,238 │
23:19:17 #5594 [Debug] > │ 356,239 357,240 357,241 358,242 358,243 359,244 359,246 360,247 360,248 │
23:19:17 #5595 [Debug] > │ 361,248 361,249 362,250 362,251 363,252 363,253 364,254 364,255 365,256 │
23:19:17 #5596 [Debug] > │ 365,257 366,258 366,259 367,259 367,260 368,261 368,262 369,263 369,259 │
23:19:17 #5597 [Debug] > │ 370,256 370,252 371,249 371,245 372,242 372,239 373,236 373,232 374,229 │
23:19:17 #5598 [Debug] > │ 374,226 375,223 375,220 376,217 376,214 377,211 377,208 378,205 378,202 │
23:19:17 #5599 [Debug] > │ 379,200 379,197 380,194 380,192 381,189 381,186 382,184 382,181 383,179 │
23:19:17 #5600 [Debug] > │ 383,177 384,174 384,172 385,170 385,167 386,165 386,163 387,161 387,159 │
23:19:17 #5601 [Debug] > │ 388,157 388,155 389,153 389,151 390,149 390,147 391,145 391,144 392,142 │
23:19:17 #5602 [Debug] > │ 392,140 393,138 393,137 394,135 394,133 395,132 395,130 396,129 396,127 │
23:19:17 #5603 [Debug] > │ 397,126 397,125 398,123 398,122 399,120 399,119 400,118 400,117 401,115 │
23:19:17 #5604 [Debug] > │ 401,114 402,113 402,112 403,111 403,110 404,109 404,108 405,107 405,106 │
23:19:17 #5605 [Debug] > │ 406,105 406,104 407,103 407,102 408,101 408,100 409,99 409,98 410,97 410,97 │
23:19:17 #5606 [Debug] > │ 411,96 411,95 412,94 412,94 413,93 413,92 414,91 414,91 415,90 415,89 416,89 │
23:19:17 #5607 [Debug] > │ 416,88 417,88 417,87 418,86 418,86 419,85 419,89 420,93 420,97 421,100 │
23:19:17 #5608 [Debug] > │ 421,104 422,107 422,110 423,114 423,117 424,120 424,123 425,126 425,129 │
23:19:17 #5609 [Debug] > │ 426,132 426,135 427,137 427,140 428,143 428,145 429,148 429,150 430,153 │
23:19:17 #5610 [Debug] > │ 430,155 431,158 431,160 432,162 432,164 433,167 433,169 434,171 434,173 │
23:19:17 #5611 [Debug] > │ 435,175 435,177 436,179 436,181 437,183 437,185 438,187 438,189 439,190 │
23:19:17 #5612 [Debug] > │ 439,192 440,194 440,196 441,197 441,199 442,201 442,202 443,204 443,205 │
23:19:17 #5613 [Debug] > │ 444,207 444,208 445,210 445,211 446,213 446,214 447,216 447,217 448,218 │
23:19:17 #5614 [Debug] > │ 448,220 449,221 449,222 450,224 450,225 451,226 451,228 452,229 452,230 │
23:19:17 #5615 [Debug] > │ 453,231 453,232 454,234 454,235 455,236 455,237 456,238 456,239 457,240 │
23:19:17 #5616 [Debug] > │ 457,241 458,242 458,243 459,244 459,245 460,247 460,248 461,248 461,249 │
23:19:17 #5617 [Debug] > │ 462,250 462,251 463,252 463,253 464,254 464,255 465,256 465,257 466,258 │
23:19:17 #5618 [Debug] > │ 466,259 467,259 467,260 468,261 468,262 469,263 469,264 470,260 470,257 │
23:19:17 #5619 [Debug] > │ 471,253 471,250 472,246 472,243 473,240 473,236 474,233 474,230 475,227 │
23:19:17 #5620 [Debug] > │ 475,224 476,221 476,218 477,215 477,212 478,209 478,206 479,203 479,200 │
23:19:17 #5621 [Debug] > │ 480,198 480,195 481,192 481,190 482,187 482,185 483,182 483,180 484,177 │
23:19:17 #5622 [Debug] > │ 484,175 485,173 485,170 486,168 486,166 487,164 487,161 488,159 488,157 │
23:19:17 #5623 [Debug] > │ 489,155 489,153 490,151 490,149 491,148 491,146 492,144 492,142 493,140 │
23:19:17 #5624 [Debug] > │ 493,139 494,137 494,135 495,134 495,132 496,131 496,129 497,128 497,126 │
23:19:17 #5625 [Debug] > │ 498,125 498,123 499,122 499,121 500,119 500,118 501,117 501,116 502,114 │
23:19:17 #5626 [Debug] > │ 502,113 503,112 503,111 504,110 504,109 505,108 505,107 506,106 506,105 │
23:19:17 #5627 [Debug] > │ 507,104 507,103 508,102 508,101 509,100 509,99 510,98 510,98 511,97 511,96 │
23:19:17 #5628 [Debug] > │ 512,95 512,94 513,94 513,93 514,92 514,92 515,91 515,90 516,90 516,89 517,88 │
23:19:17 #5629 [Debug] > │ 517,88 518,87 518,87 519,86 519,85 520,89 520,93 521,97 521,100 522,104 │
23:19:17 #5630 [Debug] > │ 522,107 523,110 523,114 524,117 524,120 525,123 525,126 526,129 526,132 │
23:19:17 #5631 [Debug] > │ 527,135 527,137 528,140 528,143 529,145 529,148 530,150 530,153 531,155 │
23:19:17 #5632 [Debug] > │ 531,158 532,160 532,162 533,165 533,167 534,169 534,171 535,173 535,175 │
23:19:17 #5633 [Debug] > │ 536,177 536,179 537,181 537,183 538,185 538,187 539,189 539,190 540,192 │
23:19:17 #5634 [Debug] > │ 540,194 541,196 541,197 542,199 542,201 543,202 543,204 544,205 544,207 │
23:19:17 #5635 [Debug] > │ 545,208 545,210 546,211 546,213 547,214 547,216 548,217 548,219 549,220 │
23:19:17 #5636 [Debug] > │ 549,221 550,223 550,224 551,225 551,226 552,228 552,229 553,230 553,231 │
23:19:17 #5637 [Debug] > │ 554,232 554,234 555,235 555,236 556,237 556,238 557,239 557,240 558,241 │
23:19:17 #5638 [Debug] > │ 558,242 559,243 559,245 560,246 560,247 561,248 561,249 562,249 562,250 │
23:19:17 #5639 [Debug] > │ 563,251 563,252 564,253 564,254 565,255 565,256 566,257 566,258 567,259 │
23:19:17 #5640 [Debug] > │ 567,259 568,260 568,261 569,262 "/> │
23:19:17 #5641 [Debug] > │ <rect x="410" y="235" width="170" height="30" opacity="1" fill="none" │
23:19:17 #5642 [Debug] > │ stroke="#FFFFFF"/> │
23:19:17 #5643 [Debug] > │ <text x="450" y="245" dy="0.76em" text-anchor="start" │
23:19:17 #5644 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:17 #5645 [Debug] > │ fill="#FFFFFF"> │
23:19:17 #5646 [Debug] > │ velocity of bike (m/s) │
23:19:17 #5647 [Debug] > │ </text> │
23:19:17 #5648 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:17 #5649 [Debug] > │ points="420,250 440,250 "/> │
23:19:17 #5650 [Debug] > │ </svg> │
23:19:17 #5651 [Debug] > │ │
23:19:17 #5652 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:17 #5653 [Debug] >
23:19:17 #5654 [Debug] > ╭─[ 654.60ms - stdout ]────────────────────────────────────────────────────────╮
23:19:17 #5655 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:17 #5656 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:17 #5657 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:17 #5658 [Debug] > │ let v2 : bool = v1 < 1001 │
23:19:17 #5659 [Debug] > │ v2 │
23:19:17 #5660 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:17 #5661 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:17 #5662 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:17 #5663 [Debug] > │ v3 │
23:19:17 #5664 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : float) : struct (float * float) = │
23:19:17 #5665 [Debug] > │ let v3 : bool = v2 <= 0.0 │
23:19:17 #5666 [Debug] > │ if v3 then │
23:19:17 #5667 [Debug] > │ struct (v0, v1) │
23:19:17 #5668 [Debug] > │ else │
23:19:17 #5669 [Debug] > │ let v4 : float = -v1 │
23:19:17 #5670 [Debug] > │ let v5 : bool = v1 >= v4 │
23:19:17 #5671 [Debug] > │ let v6 : float = │
23:19:17 #5672 [Debug] > │ if v5 then │
23:19:17 #5673 [Debug] > │ v1 │
23:19:17 #5674 [Debug] > │ else │
23:19:17 #5675 [Debug] > │ v4 │
23:19:17 #5676 [Debug] > │ let v7 : float = -1.225 * v6 │
23:19:17 #5677 [Debug] > │ let v8 : float = v7 * v1 │
23:19:17 #5678 [Debug] > │ let v9 : float = v8 / 2.0 │
23:19:17 #5679 [Debug] > │ let v10 : float = v0 / 20.0 │
23:19:17 #5680 [Debug] > │ let v11 : int32 = int32 v10 │
23:19:17 #5681 [Debug] > │ let v12 : float = float v11 │
23:19:17 #5682 [Debug] > │ let v13 : float = v12 * 20.0 │
23:19:17 #5683 [Debug] > │ let v14 : float = v0 - v13 │
23:19:17 #5684 [Debug] > │ let v15 : bool = v14 > 0.0 │
23:19:17 #5685 [Debug] > │ let v17 : bool = │
23:19:17 #5686 [Debug] > │ if v15 then │
23:19:17 #5687 [Debug] > │ let v16 : bool = v14 < 10.0 │
23:19:17 #5688 [Debug] > │ v16 │
23:19:17 #5689 [Debug] > │ else │
23:19:17 #5690 [Debug] > │ false │
23:19:17 #5691 [Debug] > │ let v18 : float = │
23:19:17 #5692 [Debug] > │ if v17 then │
23:19:17 #5693 [Debug] > │ 10.0 │
23:19:17 #5694 [Debug] > │ else │
23:19:17 #5695 [Debug] > │ 0.0 │
23:19:17 #5696 [Debug] > │ let v19 : float = v18 + v9 │
23:19:17 #5697 [Debug] > │ let v20 : float = v19 / 20.0 │
23:19:17 #5698 [Debug] > │ let v21 : float = v0 + 0.1 │
23:19:17 #5699 [Debug] > │ let v22 : float = v20 * 0.1 │
23:19:17 #5700 [Debug] > │ let v23 : float = v1 + v22 │
23:19:17 #5701 [Debug] > │ let v24 : float = v2 - 1.0 │
23:19:17 #5702 [Debug] > │ method3(v21, v23, v24) │
23:19:17 #5703 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:17 #5704 [Debug] > │ []) * (float [])) [])) = │
23:19:17 #5705 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (1001) │
23:19:17 #5706 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:17 #5707 [Debug] > │ while method1(v1) do │
23:19:17 #5708 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:17 #5709 [Debug] > │ let v4 : float = float v3 │
23:19:17 #5710 [Debug] > │ let v5 : float = 0.1 * v4 │
23:19:17 #5711 [Debug] > │ v0.[int v3] <- v5 │
23:19:17 #5712 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:17 #5713 [Debug] > │ v1.l0 <- v6 │
23:19:17 #5714 [Debug] > │ () │
23:19:17 #5715 [Debug] > │ let v7 : int32 = v0.Length │
23:19:17 #5716 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:17 #5717 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:17 #5718 [Debug] > │ while method2(v7, v9) do │
23:19:17 #5719 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:17 #5720 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:17 #5721 [Debug] > │ let v13 : float = v12 / 0.1 │
23:19:17 #5722 [Debug] > │ let v14 : float = round v13 │
23:19:17 #5723 [Debug] > │ let v15 : float = -v14 │
23:19:17 #5724 [Debug] > │ let v16 : bool = v14 >= v15 │
23:19:17 #5725 [Debug] > │ let v17 : float = │
23:19:17 #5726 [Debug] > │ if v16 then │
23:19:17 #5727 [Debug] > │ v14 │
23:19:17 #5728 [Debug] > │ else │
23:19:17 #5729 [Debug] > │ v15 │
23:19:17 #5730 [Debug] > │ let v18 : float = 0.0 │
23:19:17 #5731 [Debug] > │ let v19 : float = 0.0 │
23:19:17 #5732 [Debug] > │ let struct (v20 : float, v21 : float) = method3(v18, v19, v17) │
23:19:17 #5733 [Debug] > │ v8.[int v11] <- v21 │
23:19:17 #5734 [Debug] > │ let v22 : int32 = v11 + 1 │
23:19:17 #5735 [Debug] > │ v9.l0 <- v22 │
23:19:17 #5736 [Debug] > │ () │
23:19:17 #5737 [Debug] > │ let v23 : string = "velocity of bike (m/s)" │
23:19:17 #5738 [Debug] > │ let v24 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:17 #5739 [Debug] > │ (v23, v0, v8)|] │
23:19:17 #5740 [Debug] > │ let v25 : string = "pedaling and coasting with air" │
23:19:17 #5741 [Debug] > │ let v26 : string = "time (s)" │
23:19:17 #5742 [Debug] > │ let v27 : string = "" │
23:19:17 #5743 [Debug] > │ struct (v25, v26, v27, v24) │
23:19:17 #5744 [Debug] > │ method0() │
23:19:17 #5745 [Debug] > │ │
23:19:17 #5746 [Debug] > │ │
23:19:17 #5747 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:17 #5748 [Debug] >
23:19:17 #5749 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:17 #5750 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:17 #5751 [Debug] > │ ## velocity_ftxv │
23:19:17 #5752 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:17 #5753 [Debug] >
23:19:17 #5754 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:17 #5755 [Debug] > nominal state_1d = time * position * velocity
23:19:17 #5756 [Debug] > nominal rrr = f64 * f64 * f64
23:19:17 #5757 [Debug] >
23:19:17 #5758 [Debug] > inl newton_second_1d m fs (state_1d (t, x0, v0)) =
23:19:17 #5759 [Debug] > inl f_net = fs |> listm.map (fun f => f (state_1d (t, x0, v0))) |>
23:19:17 #5760 [Debug] > listm'.sum
23:19:17 #5761 [Debug] > inl acc = f_net / m
23:19:17 #5762 [Debug] > rrr (1f64, v0, acc)
23:19:17 #5763 [Debug] >
23:19:17 #5764 [Debug] > inl euler_1d dt deriv (state_1d (t0, x0, v0) as t) =
23:19:17 #5765 [Debug] > inl (rrr (_, _, dvdt)) = deriv t
23:19:17 #5766 [Debug] > inl t1 = t0 + dt
23:19:17 #5767 [Debug] > inl x1 = x0 + v0 * dt
23:19:17 #5768 [Debug] > inl v1 = v0 + dvdt * dt
23:19:17 #5769 [Debug] > state_1d (t1, x1, v1)
23:19:17 #5770 [Debug] >
23:19:17 #5771 [Debug] > inl update_txv dt m fs =
23:19:17 #5772 [Debug] > newton_second_1d m fs |> euler_1d dt
23:19:17 #5773 [Debug] >
23:19:17 #5774 [Debug] > inl states_txv dt m txv0 fs =
23:19:17 #5775 [Debug] > seq.iterate_ (update_txv dt m fs) txv0
23:19:17 #5776 [Debug] >
23:19:17 #5777 [Debug] > inl velocity_1d sts t =
23:19:17 #5778 [Debug] > inl (state_1d (t0, _, _)) = sts 0
23:19:17 #5779 [Debug] > inl (state_1d (t1, _, _)) = sts 1
23:19:17 #5780 [Debug] > inl dt = t1 - t0
23:19:17 #5781 [Debug] > inl num_steps = t / dt |> math.round |> abs
23:19:17 #5782 [Debug] > inl (state_1d (_, _, v0)) = sts num_steps
23:19:17 #5783 [Debug] > v0
23:19:17 #5784 [Debug] >
23:19:17 #5785 [Debug] > inl velocity_ftxv dt m txv0 fs =
23:19:17 #5786 [Debug] > states_txv dt m txv0 fs |> velocity_1d
23:19:17 #5787 [Debug] >
23:19:17 #5788 [Debug] > inl position_1d sts t =
23:19:17 #5789 [Debug] > inl (state_1d (t0, _, _)) = sts 0
23:19:17 #5790 [Debug] > inl (state_1d (t1, _, _)) = sts 1
23:19:17 #5791 [Debug] > inl dt = t1 - t0
23:19:17 #5792 [Debug] > inl num_steps = t / dt |> math.round |> abs
23:19:17 #5793 [Debug] > inl (state_1d (_, x0, _)) = sts num_steps
23:19:17 #5794 [Debug] > x0
23:19:17 #5795 [Debug] >
23:19:17 #5796 [Debug] > inl position_ftxv dt m txv0 fs =
23:19:17 #5797 [Debug] > states_txv dt m txv0 fs |> position_1d
23:19:17 #5798 [Debug] >
23:19:17 #5799 [Debug] > inl spring_force k (state_1d (_, x0, _)) =
23:19:17 #5800 [Debug] > -k * x0
23:19:17 #5801 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1764-6461-6c45b087e10f\main.spi
23:19:17 #5802 [Debug] >
23:19:17 #5803 [Debug] > ╭─[ 155.11ms - stdout ]────────────────────────────────────────────────────────╮
23:19:17 #5804 [Debug] > │ () │
23:19:17 #5805 [Debug] > │ │
23:19:17 #5806 [Debug] > │ │
23:19:17 #5807 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:17 #5808 [Debug] >
23:19:17 #5809 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:17 #5810 [Debug] > // // test
23:19:17 #5811 [Debug] >
23:19:17 #5812 [Debug] > inl damped_ho_forces () =
23:19:17 #5813 [Debug] > [[
23:19:17 #5814 [Debug] > spring_force 0.8
23:19:17 #5815 [Debug] > fun (state_1d (_, _, v0)) => f_air 2 1.225 (pi * math.square 0.02) v0
23:19:17 #5816 [Debug] > fun _ => -0.0027 * 9.80665
23:19:17 #5817 [Debug] > ]]
23:19:17 #5818 [Debug] >
23:19:17 #5819 [Debug] > inl damped_ho_states () =
23:19:17 #5820 [Debug] > states_txv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ())
23:19:17 #5821 [Debug] >
23:19:17 #5822 [Debug] > inl pingpong_position t =
23:19:17 #5823 [Debug] > position_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
23:19:17 #5824 [Debug] >
23:19:17 #5825 [Debug] > inl x : a _ f64 = am'.init_series 0 3 0.01
23:19:17 #5826 [Debug] > inl y = x |> am.map pingpong_position
23:19:17 #5827 [Debug] > "ping pong ball on a slinky", "time (s)", "", ;[[ "position (m)", x, y ]]
23:19:17 #5828 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1779-7969-7261b20fc49a\main.spi
23:19:18 #5829 [Debug] >
23:19:18 #5830 [Debug] > ╭─[ 247.51ms - return value ]──────────────────────────────────────────────────╮
23:19:18 #5831 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:18 #5832 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:18 #5833 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:18 #5834 [Debug] > │ stroke="none"/> │
23:19:18 #5835 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:18 #5836 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #5837 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #5838 [Debug] > │ ping pong ball on a slinky │
23:19:18 #5839 [Debug] > │ </text> │
23:19:18 #5840 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
23:19:18 #5841 [Debug] > │ y2="75"/> │
23:19:18 #5842 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:18 #5843 [Debug] > │ y2="75"/> │
23:19:18 #5844 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
23:19:18 #5845 [Debug] > │ y2="75"/> │
23:19:18 #5846 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
23:19:18 #5847 [Debug] > │ y2="75"/> │
23:19:18 #5848 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
23:19:18 #5849 [Debug] > │ y2="75"/> │
23:19:18 #5850 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
23:19:18 #5851 [Debug] > │ x2="103" y2="75"/> │
23:19:18 #5852 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
23:19:18 #5853 [Debug] > │ x2="111" y2="75"/> │
23:19:18 #5854 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:18 #5855 [Debug] > │ x2="119" y2="75"/> │
23:19:18 #5856 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
23:19:18 #5857 [Debug] > │ x2="128" y2="75"/> │
23:19:18 #5858 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
23:19:18 #5859 [Debug] > │ x2="136" y2="75"/> │
23:19:18 #5860 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
23:19:18 #5861 [Debug] > │ x2="144" y2="75"/> │
23:19:18 #5862 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
23:19:18 #5863 [Debug] > │ x2="153" y2="75"/> │
23:19:18 #5864 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
23:19:18 #5865 [Debug] > │ x2="161" y2="75"/> │
23:19:18 #5866 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:18 #5867 [Debug] > │ x2="169" y2="75"/> │
23:19:18 #5868 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424" │
23:19:18 #5869 [Debug] > │ x2="178" y2="75"/> │
23:19:18 #5870 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424" │
23:19:18 #5871 [Debug] > │ x2="186" y2="75"/> │
23:19:18 #5872 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
23:19:18 #5873 [Debug] > │ x2="194" y2="75"/> │
23:19:18 #5874 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424" │
23:19:18 #5875 [Debug] > │ x2="203" y2="75"/> │
23:19:18 #5876 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424" │
23:19:18 #5877 [Debug] > │ x2="211" y2="75"/> │
23:19:18 #5878 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:18 #5879 [Debug] > │ x2="219" y2="75"/> │
23:19:18 #5880 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424" │
23:19:18 #5881 [Debug] > │ x2="228" y2="75"/> │
23:19:18 #5882 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424" │
23:19:18 #5883 [Debug] > │ x2="236" y2="75"/> │
23:19:18 #5884 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424" │
23:19:18 #5885 [Debug] > │ x2="244" y2="75"/> │
23:19:18 #5886 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424" │
23:19:18 #5887 [Debug] > │ x2="252" y2="75"/> │
23:19:18 #5888 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:18 #5889 [Debug] > │ x2="261" y2="75"/> │
23:19:18 #5890 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:18 #5891 [Debug] > │ x2="269" y2="75"/> │
23:19:18 #5892 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424" │
23:19:18 #5893 [Debug] > │ x2="277" y2="75"/> │
23:19:18 #5894 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424" │
23:19:18 #5895 [Debug] > │ x2="286" y2="75"/> │
23:19:18 #5896 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424" │
23:19:18 #5897 [Debug] > │ x2="294" y2="75"/> │
23:19:18 #5898 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424" │
23:19:18 #5899 [Debug] > │ x2="302" y2="75"/> │
23:19:18 #5900 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424" │
23:19:18 #5901 [Debug] > │ x2="311" y2="75"/> │
23:19:18 #5902 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:18 #5903 [Debug] > │ x2="319" y2="75"/> │
23:19:18 #5904 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424" │
23:19:18 #5905 [Debug] > │ x2="327" y2="75"/> │
23:19:18 #5906 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424" │
23:19:18 #5907 [Debug] > │ x2="336" y2="75"/> │
23:19:18 #5908 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424" │
23:19:18 #5909 [Debug] > │ x2="344" y2="75"/> │
23:19:18 #5910 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424" │
23:19:18 #5911 [Debug] > │ x2="352" y2="75"/> │
23:19:18 #5912 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424" │
23:19:18 #5913 [Debug] > │ x2="361" y2="75"/> │
23:19:18 #5914 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:18 #5915 [Debug] > │ x2="369" y2="75"/> │
23:19:18 #5916 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424" │
23:19:18 #5917 [Debug] > │ x2="377" y2="75"/> │
23:19:18 #5918 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424" │
23:19:18 #5919 [Debug] > │ x2="386" y2="75"/> │
23:19:18 #5920 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424" │
23:19:18 #5921 [Debug] > │ x2="394" y2="75"/> │
23:19:18 #5922 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424" │
23:19:18 #5923 [Debug] > │ x2="402" y2="75"/> │
23:19:18 #5924 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424" │
23:19:18 #5925 [Debug] > │ x2="410" y2="75"/> │
23:19:18 #5926 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:18 #5927 [Debug] > │ x2="419" y2="75"/> │
23:19:18 #5928 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424" │
23:19:18 #5929 [Debug] > │ x2="427" y2="75"/> │
23:19:18 #5930 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424" │
23:19:18 #5931 [Debug] > │ x2="435" y2="75"/> │
23:19:18 #5932 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424" │
23:19:18 #5933 [Debug] > │ x2="444" y2="75"/> │
23:19:18 #5934 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424" │
23:19:18 #5935 [Debug] > │ x2="452" y2="75"/> │
23:19:18 #5936 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424" │
23:19:18 #5937 [Debug] > │ x2="460" y2="75"/> │
23:19:18 #5938 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:18 #5939 [Debug] > │ x2="469" y2="75"/> │
23:19:18 #5940 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424" │
23:19:18 #5941 [Debug] > │ x2="477" y2="75"/> │
23:19:18 #5942 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424" │
23:19:18 #5943 [Debug] > │ x2="485" y2="75"/> │
23:19:18 #5944 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424" │
23:19:18 #5945 [Debug] > │ x2="494" y2="75"/> │
23:19:18 #5946 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424" │
23:19:18 #5947 [Debug] > │ x2="502" y2="75"/> │
23:19:18 #5948 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424" │
23:19:18 #5949 [Debug] > │ x2="510" y2="75"/> │
23:19:18 #5950 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:18 #5951 [Debug] > │ x2="519" y2="75"/> │
23:19:18 #5952 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424" │
23:19:18 #5953 [Debug] > │ x2="527" y2="75"/> │
23:19:18 #5954 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424" │
23:19:18 #5955 [Debug] > │ x2="535" y2="75"/> │
23:19:18 #5956 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424" │
23:19:18 #5957 [Debug] > │ x2="544" y2="75"/> │
23:19:18 #5958 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424" │
23:19:18 #5959 [Debug] > │ x2="552" y2="75"/> │
23:19:18 #5960 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424" │
23:19:18 #5961 [Debug] > │ x2="560" y2="75"/> │
23:19:18 #5962 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:18 #5963 [Debug] > │ x2="569" y2="75"/> │
23:19:18 #5964 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424" │
23:19:18 #5965 [Debug] > │ x2="577" y2="75"/> │
23:19:18 #5966 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="419" │
23:19:18 #5967 [Debug] > │ x2="584" y2="419"/> │
23:19:18 #5968 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="406" │
23:19:18 #5969 [Debug] > │ x2="584" y2="406"/> │
23:19:18 #5970 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="393" │
23:19:18 #5971 [Debug] > │ x2="584" y2="393"/> │
23:19:18 #5972 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380" │
23:19:18 #5973 [Debug] > │ x2="584" y2="380"/> │
23:19:18 #5974 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="367" │
23:19:18 #5975 [Debug] > │ x2="584" y2="367"/> │
23:19:18 #5976 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="354" │
23:19:18 #5977 [Debug] > │ x2="584" y2="354"/> │
23:19:18 #5978 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="342" │
23:19:18 #5979 [Debug] > │ x2="584" y2="342"/> │
23:19:18 #5980 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="329" │
23:19:18 #5981 [Debug] > │ x2="584" y2="329"/> │
23:19:18 #5982 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316" │
23:19:18 #5983 [Debug] > │ x2="584" y2="316"/> │
23:19:18 #5984 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="303" │
23:19:18 #5985 [Debug] > │ x2="584" y2="303"/> │
23:19:18 #5986 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="290" │
23:19:18 #5987 [Debug] > │ x2="584" y2="290"/> │
23:19:18 #5988 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="278" │
23:19:18 #5989 [Debug] > │ x2="584" y2="278"/> │
23:19:18 #5990 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="265" │
23:19:18 #5991 [Debug] > │ x2="584" y2="265"/> │
23:19:18 #5992 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="252" │
23:19:18 #5993 [Debug] > │ x2="584" y2="252"/> │
23:19:18 #5994 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="239" │
23:19:18 #5995 [Debug] > │ x2="584" y2="239"/> │
23:19:18 #5996 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="226" │
23:19:18 #5997 [Debug] > │ x2="584" y2="226"/> │
23:19:18 #5998 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="214" │
23:19:18 #5999 [Debug] > │ x2="584" y2="214"/> │
23:19:18 #6000 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:18 #6001 [Debug] > │ x2="584" y2="201"/> │
23:19:18 #6002 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="188" │
23:19:18 #6003 [Debug] > │ x2="584" y2="188"/> │
23:19:18 #6004 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="175" │
23:19:18 #6005 [Debug] > │ x2="584" y2="175"/> │
23:19:18 #6006 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="162" │
23:19:18 #6007 [Debug] > │ x2="584" y2="162"/> │
23:19:18 #6008 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="149" │
23:19:18 #6009 [Debug] > │ x2="584" y2="149"/> │
23:19:18 #6010 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137" │
23:19:18 #6011 [Debug] > │ x2="584" y2="137"/> │
23:19:18 #6012 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="124" │
23:19:18 #6013 [Debug] > │ x2="584" y2="124"/> │
23:19:18 #6014 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="111" │
23:19:18 #6015 [Debug] > │ x2="584" y2="111"/> │
23:19:18 #6016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="98" x2="584" │
23:19:18 #6017 [Debug] > │ y2="98"/> │
23:19:18 #6018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:18 #6019 [Debug] > │ y2="85"/> │
23:19:18 #6020 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:18 #6021 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6022 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6023 [Debug] > │ time (s) │
23:19:18 #6024 [Debug] > │ </text> │
23:19:18 #6025 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:18 #6026 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6027 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:18 #6028 [Debug] > │ │
23:19:18 #6029 [Debug] > │ </text> │
23:19:18 #6030 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6031 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6032 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6033 [Debug] > │ time (s) │
23:19:18 #6034 [Debug] > │ </text> │
23:19:18 #6035 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:18 #6036 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6037 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:18 #6038 [Debug] > │ │
23:19:18 #6039 [Debug] > │ </text> │
23:19:18 #6040 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:18 #6041 [Debug] > │ y2="75"/> │
23:19:18 #6042 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="103" y1="424" │
23:19:18 #6043 [Debug] > │ x2="103" y2="75"/> │
23:19:18 #6044 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="136" y1="424" │
23:19:18 #6045 [Debug] > │ x2="136" y2="75"/> │
23:19:18 #6046 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:18 #6047 [Debug] > │ x2="169" y2="75"/> │
23:19:18 #6048 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="203" y1="424" │
23:19:18 #6049 [Debug] > │ x2="203" y2="75"/> │
23:19:18 #6050 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424" │
23:19:18 #6051 [Debug] > │ x2="236" y2="75"/> │
23:19:18 #6052 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:18 #6053 [Debug] > │ x2="269" y2="75"/> │
23:19:18 #6054 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="302" y1="424" │
23:19:18 #6055 [Debug] > │ x2="302" y2="75"/> │
23:19:18 #6056 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="336" y1="424" │
23:19:18 #6057 [Debug] > │ x2="336" y2="75"/> │
23:19:18 #6058 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:18 #6059 [Debug] > │ x2="369" y2="75"/> │
23:19:18 #6060 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424" │
23:19:18 #6061 [Debug] > │ x2="402" y2="75"/> │
23:19:18 #6062 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="435" y1="424" │
23:19:18 #6063 [Debug] > │ x2="435" y2="75"/> │
23:19:18 #6064 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:18 #6065 [Debug] > │ x2="469" y2="75"/> │
23:19:18 #6066 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="502" y1="424" │
23:19:18 #6067 [Debug] > │ x2="502" y2="75"/> │
23:19:18 #6068 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="535" y1="424" │
23:19:18 #6069 [Debug] > │ x2="535" y2="75"/> │
23:19:18 #6070 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="406" │
23:19:18 #6071 [Debug] > │ x2="584" y2="406"/> │
23:19:18 #6072 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="342" │
23:19:18 #6073 [Debug] > │ x2="584" y2="342"/> │
23:19:18 #6074 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="278" │
23:19:18 #6075 [Debug] > │ x2="584" y2="278"/> │
23:19:18 #6076 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="214" │
23:19:18 #6077 [Debug] > │ x2="584" y2="214"/> │
23:19:18 #6078 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="149" │
23:19:18 #6079 [Debug] > │ x2="584" y2="149"/> │
23:19:18 #6080 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:18 #6081 [Debug] > │ y2="85"/> │
23:19:18 #6082 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6083 [Debug] > │ points="55,74 584,74 "/> │
23:19:18 #6084 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6085 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6086 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6087 [Debug] > │ 0.0 │
23:19:18 #6088 [Debug] > │ </text> │
23:19:18 #6089 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6090 [Debug] > │ points="69,69 69,74 "/> │
23:19:18 #6091 [Debug] > │ <text x="103" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6092 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6093 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6094 [Debug] > │ 0.2 │
23:19:18 #6095 [Debug] > │ </text> │
23:19:18 #6096 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6097 [Debug] > │ points="103,69 103,74 "/> │
23:19:18 #6098 [Debug] > │ <text x="136" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6099 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6100 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6101 [Debug] > │ 0.4 │
23:19:18 #6102 [Debug] > │ </text> │
23:19:18 #6103 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6104 [Debug] > │ points="136,69 136,74 "/> │
23:19:18 #6105 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6106 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6107 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6108 [Debug] > │ 0.6 │
23:19:18 #6109 [Debug] > │ </text> │
23:19:18 #6110 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6111 [Debug] > │ points="169,69 169,74 "/> │
23:19:18 #6112 [Debug] > │ <text x="203" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6113 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6114 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6115 [Debug] > │ 0.8 │
23:19:18 #6116 [Debug] > │ </text> │
23:19:18 #6117 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6118 [Debug] > │ points="203,69 203,74 "/> │
23:19:18 #6119 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6120 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6121 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6122 [Debug] > │ 1.0 │
23:19:18 #6123 [Debug] > │ </text> │
23:19:18 #6124 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6125 [Debug] > │ points="236,69 236,74 "/> │
23:19:18 #6126 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6127 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6128 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6129 [Debug] > │ 1.2 │
23:19:18 #6130 [Debug] > │ </text> │
23:19:18 #6131 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6132 [Debug] > │ points="269,69 269,74 "/> │
23:19:18 #6133 [Debug] > │ <text x="302" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6134 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6135 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6136 [Debug] > │ 1.4 │
23:19:18 #6137 [Debug] > │ </text> │
23:19:18 #6138 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6139 [Debug] > │ points="302,69 302,74 "/> │
23:19:18 #6140 [Debug] > │ <text x="336" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6141 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6142 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6143 [Debug] > │ 1.6 │
23:19:18 #6144 [Debug] > │ </text> │
23:19:18 #6145 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6146 [Debug] > │ points="336,69 336,74 "/> │
23:19:18 #6147 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6148 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6149 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6150 [Debug] > │ 1.8 │
23:19:18 #6151 [Debug] > │ </text> │
23:19:18 #6152 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6153 [Debug] > │ points="369,69 369,74 "/> │
23:19:18 #6154 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6155 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6156 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6157 [Debug] > │ 2.0 │
23:19:18 #6158 [Debug] > │ </text> │
23:19:18 #6159 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6160 [Debug] > │ points="402,69 402,74 "/> │
23:19:18 #6161 [Debug] > │ <text x="435" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6162 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6163 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6164 [Debug] > │ 2.2 │
23:19:18 #6165 [Debug] > │ </text> │
23:19:18 #6166 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6167 [Debug] > │ points="435,69 435,74 "/> │
23:19:18 #6168 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6169 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6170 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6171 [Debug] > │ 2.4 │
23:19:18 #6172 [Debug] > │ </text> │
23:19:18 #6173 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6174 [Debug] > │ points="469,69 469,74 "/> │
23:19:18 #6175 [Debug] > │ <text x="502" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6176 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6177 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6178 [Debug] > │ 2.6 │
23:19:18 #6179 [Debug] > │ </text> │
23:19:18 #6180 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6181 [Debug] > │ points="502,69 502,74 "/> │
23:19:18 #6182 [Debug] > │ <text x="535" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6183 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6184 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6185 [Debug] > │ 2.8 │
23:19:18 #6186 [Debug] > │ </text> │
23:19:18 #6187 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6188 [Debug] > │ points="535,69 535,74 "/> │
23:19:18 #6189 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6190 [Debug] > │ points="54,75 54,424 "/> │
23:19:18 #6191 [Debug] > │ <text x="45" y="406" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6192 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6193 [Debug] > │ -0.2 │
23:19:18 #6194 [Debug] > │ </text> │
23:19:18 #6195 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6196 [Debug] > │ points="49,406 54,406 "/> │
23:19:18 #6197 [Debug] > │ <text x="45" y="342" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6198 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6199 [Debug] > │ -0.1 │
23:19:18 #6200 [Debug] > │ </text> │
23:19:18 #6201 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6202 [Debug] > │ points="49,342 54,342 "/> │
23:19:18 #6203 [Debug] > │ <text x="45" y="278" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6204 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6205 [Debug] > │ -0.1 │
23:19:18 #6206 [Debug] > │ </text> │
23:19:18 #6207 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6208 [Debug] > │ points="49,278 54,278 "/> │
23:19:18 #6209 [Debug] > │ <text x="45" y="214" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6210 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6211 [Debug] > │ -0.0 │
23:19:18 #6212 [Debug] > │ </text> │
23:19:18 #6213 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6214 [Debug] > │ points="49,214 54,214 "/> │
23:19:18 #6215 [Debug] > │ <text x="45" y="149" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6216 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6217 [Debug] > │ 0.0 │
23:19:18 #6218 [Debug] > │ </text> │
23:19:18 #6219 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6220 [Debug] > │ points="49,149 54,149 "/> │
23:19:18 #6221 [Debug] > │ <text x="45" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6222 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6223 [Debug] > │ 0.1 │
23:19:18 #6224 [Debug] > │ </text> │
23:19:18 #6225 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6226 [Debug] > │ points="49,85 54,85 "/> │
23:19:18 #6227 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6228 [Debug] > │ points="55,425 584,425 "/> │
23:19:18 #6229 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6230 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6231 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6232 [Debug] > │ 0.0 │
23:19:18 #6233 [Debug] > │ </text> │
23:19:18 #6234 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6235 [Debug] > │ points="69,425 69,430 "/> │
23:19:18 #6236 [Debug] > │ <text x="103" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6237 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6238 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6239 [Debug] > │ 0.2 │
23:19:18 #6240 [Debug] > │ </text> │
23:19:18 #6241 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6242 [Debug] > │ points="103,425 103,430 "/> │
23:19:18 #6243 [Debug] > │ <text x="136" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6244 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6245 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6246 [Debug] > │ 0.4 │
23:19:18 #6247 [Debug] > │ </text> │
23:19:18 #6248 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6249 [Debug] > │ points="136,425 136,430 "/> │
23:19:18 #6250 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6251 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6252 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6253 [Debug] > │ 0.6 │
23:19:18 #6254 [Debug] > │ </text> │
23:19:18 #6255 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6256 [Debug] > │ points="169,425 169,430 "/> │
23:19:18 #6257 [Debug] > │ <text x="203" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6258 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6259 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6260 [Debug] > │ 0.8 │
23:19:18 #6261 [Debug] > │ </text> │
23:19:18 #6262 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6263 [Debug] > │ points="203,425 203,430 "/> │
23:19:18 #6264 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6265 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6266 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6267 [Debug] > │ 1.0 │
23:19:18 #6268 [Debug] > │ </text> │
23:19:18 #6269 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6270 [Debug] > │ points="236,425 236,430 "/> │
23:19:18 #6271 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6272 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6273 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6274 [Debug] > │ 1.2 │
23:19:18 #6275 [Debug] > │ </text> │
23:19:18 #6276 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6277 [Debug] > │ points="269,425 269,430 "/> │
23:19:18 #6278 [Debug] > │ <text x="302" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6279 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6280 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6281 [Debug] > │ 1.4 │
23:19:18 #6282 [Debug] > │ </text> │
23:19:18 #6283 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6284 [Debug] > │ points="302,425 302,430 "/> │
23:19:18 #6285 [Debug] > │ <text x="336" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6286 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6287 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6288 [Debug] > │ 1.6 │
23:19:18 #6289 [Debug] > │ </text> │
23:19:18 #6290 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6291 [Debug] > │ points="336,425 336,430 "/> │
23:19:18 #6292 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6293 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6294 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6295 [Debug] > │ 1.8 │
23:19:18 #6296 [Debug] > │ </text> │
23:19:18 #6297 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6298 [Debug] > │ points="369,425 369,430 "/> │
23:19:18 #6299 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6300 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6301 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6302 [Debug] > │ 2.0 │
23:19:18 #6303 [Debug] > │ </text> │
23:19:18 #6304 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6305 [Debug] > │ points="402,425 402,430 "/> │
23:19:18 #6306 [Debug] > │ <text x="435" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6307 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6308 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6309 [Debug] > │ 2.2 │
23:19:18 #6310 [Debug] > │ </text> │
23:19:18 #6311 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6312 [Debug] > │ points="435,425 435,430 "/> │
23:19:18 #6313 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6314 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6315 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6316 [Debug] > │ 2.4 │
23:19:18 #6317 [Debug] > │ </text> │
23:19:18 #6318 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6319 [Debug] > │ points="469,425 469,430 "/> │
23:19:18 #6320 [Debug] > │ <text x="502" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6321 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6322 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6323 [Debug] > │ 2.6 │
23:19:18 #6324 [Debug] > │ </text> │
23:19:18 #6325 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6326 [Debug] > │ points="502,425 502,430 "/> │
23:19:18 #6327 [Debug] > │ <text x="535" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6328 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6329 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6330 [Debug] > │ 2.8 │
23:19:18 #6331 [Debug] > │ </text> │
23:19:18 #6332 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6333 [Debug] > │ points="535,425 535,430 "/> │
23:19:18 #6334 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6335 [Debug] > │ points="585,75 585,424 "/> │
23:19:18 #6336 [Debug] > │ <text x="595" y="406" dy="0.5ex" text-anchor="start" │
23:19:18 #6337 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6338 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6339 [Debug] > │ -0.2 │
23:19:18 #6340 [Debug] > │ </text> │
23:19:18 #6341 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6342 [Debug] > │ points="585,406 590,406 "/> │
23:19:18 #6343 [Debug] > │ <text x="595" y="342" dy="0.5ex" text-anchor="start" │
23:19:18 #6344 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6345 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6346 [Debug] > │ -0.1 │
23:19:18 #6347 [Debug] > │ </text> │
23:19:18 #6348 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6349 [Debug] > │ points="585,342 590,342 "/> │
23:19:18 #6350 [Debug] > │ <text x="595" y="278" dy="0.5ex" text-anchor="start" │
23:19:18 #6351 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6352 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6353 [Debug] > │ -0.1 │
23:19:18 #6354 [Debug] > │ </text> │
23:19:18 #6355 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6356 [Debug] > │ points="585,278 590,278 "/> │
23:19:18 #6357 [Debug] > │ <text x="595" y="214" dy="0.5ex" text-anchor="start" │
23:19:18 #6358 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6359 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6360 [Debug] > │ -0.0 │
23:19:18 #6361 [Debug] > │ </text> │
23:19:18 #6362 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6363 [Debug] > │ points="585,214 590,214 "/> │
23:19:18 #6364 [Debug] > │ <text x="617" y="149" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6365 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6366 [Debug] > │ 0.0 │
23:19:18 #6367 [Debug] > │ </text> │
23:19:18 #6368 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6369 [Debug] > │ points="585,149 590,149 "/> │
23:19:18 #6370 [Debug] > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6371 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6372 [Debug] > │ 0.1 │
23:19:18 #6373 [Debug] > │ </text> │
23:19:18 #6374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6375 [Debug] > │ points="585,85 590,85 "/> │
23:19:18 #6376 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:18 #6377 [Debug] > │ points="69,85 71,88 73,95 74,107 76,123 78,143 79,167 81,193 83,220 84,248 │
23:19:18 #6378 [Debug] > │ 86,276 88,304 89,329 91,353 93,373 94,390 96,402 98,411 99,415 101,414 │
23:19:18 #6379 [Debug] > │ 103,408 104,398 106,384 108,366 109,345 111,321 113,296 114,270 116,243 │
23:19:18 #6380 [Debug] > │ 118,217 119,193 121,170 123,151 124,134 126,121 128,112 129,108 131,107 │
23:19:18 #6381 [Debug] > │ 133,111 134,120 136,132 138,148 139,167 141,189 143,212 144,237 146,262 │
23:19:18 #6382 [Debug] > │ 148,286 149,310 151,331 153,351 154,367 156,380 158,390 159,395 161,396 │
23:19:18 #6383 [Debug] > │ 163,394 164,387 166,376 168,362 169,344 171,324 173,303 174,280 176,256 │
23:19:18 #6384 [Debug] > │ 178,233 179,210 181,189 183,171 184,154 186,141 188,131 189,125 191,123 │
23:19:18 #6385 [Debug] > │ 193,125 194,130 196,139 198,152 199,168 201,186 203,206 204,228 206,250 │
23:19:18 #6386 [Debug] > │ 208,272 209,294 211,314 213,333 214,349 216,362 218,373 219,379 221,382 │
23:19:18 #6387 [Debug] > │ 223,382 224,377 226,369 228,358 229,344 231,327 232,308 234,288 236,267 │
23:19:18 #6388 [Debug] > │ 237,246 239,225 241,205 242,187 244,171 246,157 247,147 249,140 251,136 │
23:19:18 #6389 [Debug] > │ 252,135 254,139 256,145 257,155 259,168 261,184 262,201 264,220 266,240 │
23:19:18 #6390 [Debug] > │ 267,261 269,281 271,300 272,318 274,334 276,347 277,358 279,366 281,371 │
23:19:18 #6391 [Debug] > │ 282,372 284,369 286,364 287,355 289,343 291,329 292,313 294,295 296,276 │
23:19:18 #6392 [Debug] > │ 297,256 299,237 301,218 302,201 304,185 306,171 307,160 309,152 311,147 │
23:19:18 #6393 [Debug] > │ 312,145 314,146 316,151 317,158 319,169 321,182 322,197 324,214 326,232 │
23:19:18 #6394 [Debug] > │ 327,251 329,270 331,288 332,305 334,321 336,334 337,346 339,354 341,360 │
23:19:18 #6395 [Debug] > │ 342,363 344,362 346,359 347,352 349,342 351,330 352,316 354,300 356,283 │
23:19:18 #6396 [Debug] > │ 357,265 359,247 361,229 362,212 364,197 366,183 367,172 369,163 371,156 │
23:19:18 #6397 [Debug] > │ 372,153 374,153 376,156 377,161 379,170 381,181 382,194 384,209 386,226 │
23:19:18 #6398 [Debug] > │ 387,243 389,260 391,277 392,294 394,309 396,323 397,335 399,344 401,351 │
23:19:18 #6399 [Debug] > │ 402,355 404,356 406,354 407,349 409,341 410,331 412,319 414,305 415,289 │
23:19:18 #6400 [Debug] > │ 417,273 419,256 420,239 422,223 424,208 425,194 427,182 429,172 430,165 │
23:19:18 #6401 [Debug] > │ 432,161 434,159 435,160 437,164 439,171 440,180 442,192 444,205 445,220 │
23:19:18 #6402 [Debug] > │ 447,235 449,252 450,268 452,284 454,299 455,313 457,325 459,335 460,342 │
23:19:18 #6403 [Debug] > │ 462,347 464,350 465,349 467,346 469,340 470,332 472,321 474,309 475,295 │
23:19:18 #6404 [Debug] > │ 477,280 479,264 480,248 482,232 484,217 485,204 487,192 489,181 490,173 │
23:19:18 #6405 [Debug] > │ 492,168 494,165 495,165 497,167 499,172 500,180 502,189 504,201 505,215 │
23:19:18 #6406 [Debug] > │ 507,229 509,244 510,260 512,275 514,290 515,303 517,316 519,326 520,335 │
23:19:18 #6407 [Debug] > │ 522,341 524,344 525,345 527,343 529,339 530,332 532,323 534,312 535,300 │
23:19:18 #6408 [Debug] > │ 537,286 539,271 540,256 542,241 544,226 545,213 547,200 549,190 550,181 │
23:19:18 #6409 [Debug] > │ 552,175 554,171 555,169 557,170 559,174 560,180 562,188 564,198 565,210 │
23:19:18 #6410 [Debug] > │ 567,223 569,238 "/> │
23:19:18 #6411 [Debug] > │ <rect x="464" y="235" width="116" height="30" opacity="1" fill="none" │
23:19:18 #6412 [Debug] > │ stroke="#FFFFFF"/> │
23:19:18 #6413 [Debug] > │ <text x="504" y="245" dy="0.76em" text-anchor="start" │
23:19:18 #6414 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6415 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6416 [Debug] > │ position (m) │
23:19:18 #6417 [Debug] > │ </text> │
23:19:18 #6418 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:18 #6419 [Debug] > │ points="474,250 494,250 "/> │
23:19:18 #6420 [Debug] > │ </svg> │
23:19:18 #6421 [Debug] > │ │
23:19:18 #6422 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:18 #6423 [Debug] >
23:19:18 #6424 [Debug] > ╭─[ 544.30ms - stdout ]────────────────────────────────────────────────────────╮
23:19:18 #6425 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:18 #6426 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:18 #6427 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:18 #6428 [Debug] > │ let v2 : bool = v1 < 301 │
23:19:18 #6429 [Debug] > │ v2 │
23:19:18 #6430 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:18 #6431 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:18 #6432 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:18 #6433 [Debug] > │ v3 │
23:19:18 #6434 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │
23:19:18 #6435 [Debug] > │ * float * float) = │
23:19:18 #6436 [Debug] > │ let v4 : bool = v3 <= 0.0 │
23:19:18 #6437 [Debug] > │ if v4 then │
23:19:18 #6438 [Debug] > │ struct (v0, v1, v2) │
23:19:18 #6439 [Debug] > │ else │
23:19:18 #6440 [Debug] > │ let v5 : float = -v2 │
23:19:18 #6441 [Debug] > │ let v6 : bool = v2 >= v5 │
23:19:18 #6442 [Debug] > │ let v7 : float = │
23:19:18 #6443 [Debug] > │ if v6 then │
23:19:18 #6444 [Debug] > │ v2 │
23:19:18 #6445 [Debug] > │ else │
23:19:18 #6446 [Debug] > │ v5 │
23:19:18 #6447 [Debug] > │ let v8 : float = -0.0030787608005179976 * v7 │
23:19:18 #6448 [Debug] > │ let v9 : float = v8 * v2 │
23:19:18 #6449 [Debug] > │ let v10 : float = v9 / 2.0 │
23:19:18 #6450 [Debug] > │ let v11 : float = -0.8 * v1 │
23:19:18 #6451 [Debug] > │ let v12 : float = v11 + v10 │
23:19:18 #6452 [Debug] > │ let v13 : float = v12 + -0.026477955 │
23:19:18 #6453 [Debug] > │ let v14 : float = v13 / 0.0027 │
23:19:18 #6454 [Debug] > │ let v15 : float = v0 + 0.001 │
23:19:18 #6455 [Debug] > │ let v16 : float = v2 * 0.001 │
23:19:18 #6456 [Debug] > │ let v17 : float = v1 + v16 │
23:19:18 #6457 [Debug] > │ let v18 : float = v14 * 0.001 │
23:19:18 #6458 [Debug] > │ let v19 : float = v2 + v18 │
23:19:18 #6459 [Debug] > │ let v20 : float = v3 - 1.0 │
23:19:18 #6460 [Debug] > │ method3(v15, v17, v19, v20) │
23:19:18 #6461 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:18 #6462 [Debug] > │ []) * (float [])) [])) = │
23:19:18 #6463 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (301) │
23:19:18 #6464 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:18 #6465 [Debug] > │ while method1(v1) do │
23:19:18 #6466 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:18 #6467 [Debug] > │ let v4 : float = float v3 │
23:19:18 #6468 [Debug] > │ let v5 : float = 0.01 * v4 │
23:19:18 #6469 [Debug] > │ v0.[int v3] <- v5 │
23:19:18 #6470 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:18 #6471 [Debug] > │ v1.l0 <- v6 │
23:19:18 #6472 [Debug] > │ () │
23:19:18 #6473 [Debug] > │ let v7 : int32 = v0.Length │
23:19:18 #6474 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:18 #6475 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:18 #6476 [Debug] > │ while method2(v7, v9) do │
23:19:18 #6477 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:18 #6478 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:18 #6479 [Debug] > │ let v13 : float = 0.0 │
23:19:18 #6480 [Debug] > │ let v14 : float = 0.1 │
23:19:18 #6481 [Debug] > │ let v15 : float = 0.0 │
23:19:18 #6482 [Debug] > │ let v16 : float = 0.0 │
23:19:18 #6483 [Debug] > │ let struct (v17 : float, v18 : float, v19 : float) = method3(v13, │
23:19:18 #6484 [Debug] > │ v14, v15, v16) │
23:19:18 #6485 [Debug] > │ let v20 : float = 0.0 │
23:19:18 #6486 [Debug] > │ let v21 : float = 0.1 │
23:19:18 #6487 [Debug] > │ let v22 : float = 0.0 │
23:19:18 #6488 [Debug] > │ let v23 : float = 1.0 │
23:19:18 #6489 [Debug] > │ let struct (v24 : float, v25 : float, v26 : float) = method3(v20, │
23:19:18 #6490 [Debug] > │ v21, v22, v23) │
23:19:18 #6491 [Debug] > │ let v27 : float = v24 - v17 │
23:19:18 #6492 [Debug] > │ let v28 : float = v12 / v27 │
23:19:18 #6493 [Debug] > │ let v29 : float = round v28 │
23:19:18 #6494 [Debug] > │ let v30 : float = -v29 │
23:19:18 #6495 [Debug] > │ let v31 : bool = v29 >= v30 │
23:19:18 #6496 [Debug] > │ let v32 : float = │
23:19:18 #6497 [Debug] > │ if v31 then │
23:19:18 #6498 [Debug] > │ v29 │
23:19:18 #6499 [Debug] > │ else │
23:19:18 #6500 [Debug] > │ v30 │
23:19:18 #6501 [Debug] > │ let v33 : float = 0.0 │
23:19:18 #6502 [Debug] > │ let v34 : float = 0.1 │
23:19:18 #6503 [Debug] > │ let v35 : float = 0.0 │
23:19:18 #6504 [Debug] > │ let struct (v36 : float, v37 : float, v38 : float) = method3(v33, │
23:19:18 #6505 [Debug] > │ v34, v35, v32) │
23:19:18 #6506 [Debug] > │ v8.[int v11] <- v37 │
23:19:18 #6507 [Debug] > │ let v39 : int32 = v11 + 1 │
23:19:18 #6508 [Debug] > │ v9.l0 <- v39 │
23:19:18 #6509 [Debug] > │ () │
23:19:18 #6510 [Debug] > │ let v40 : string = "position (m)" │
23:19:18 #6511 [Debug] > │ let v41 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:18 #6512 [Debug] > │ (v40, v0, v8)|] │
23:19:18 #6513 [Debug] > │ let v42 : string = "ping pong ball on a slinky" │
23:19:18 #6514 [Debug] > │ let v43 : string = "time (s)" │
23:19:18 #6515 [Debug] > │ let v44 : string = "" │
23:19:18 #6516 [Debug] > │ struct (v42, v43, v44, v41) │
23:19:18 #6517 [Debug] > │ method0() │
23:19:18 #6518 [Debug] > │ │
23:19:18 #6519 [Debug] > │ │
23:19:18 #6520 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:18 #6521 [Debug] >
23:19:18 #6522 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:18 #6523 [Debug] > // // test
23:19:18 #6524 [Debug] >
23:19:18 #6525 [Debug] > inl pingpong_velocity t =
23:19:18 #6526 [Debug] > velocity_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t
23:19:18 #6527 [Debug] >
23:19:18 #6528 [Debug] > inl x = am'.init_series 0 3 0.01
23:19:18 #6529 [Debug] > inl y = x |> am.map pingpong_velocity
23:19:18 #6530 [Debug] > "ping pong ball on a slinky", "time (s)", "", ;[[ "velocity (m/s)", x, y ]]
23:19:18 #6531 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1839-3939-392fe33bf4a6\main.spi
23:19:18 #6532 [Debug] >
23:19:18 #6533 [Debug] > ╭─[ 274.63ms - return value ]──────────────────────────────────────────────────╮
23:19:18 #6534 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:18 #6535 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:18 #6536 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:18 #6537 [Debug] > │ stroke="none"/> │
23:19:18 #6538 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:18 #6539 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6540 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6541 [Debug] > │ ping pong ball on a slinky │
23:19:18 #6542 [Debug] > │ </text> │
23:19:18 #6543 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │
23:19:18 #6544 [Debug] > │ y2="75"/> │
23:19:18 #6545 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:18 #6546 [Debug] > │ y2="75"/> │
23:19:18 #6547 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │
23:19:18 #6548 [Debug] > │ y2="75"/> │
23:19:18 #6549 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │
23:19:18 #6550 [Debug] > │ y2="75"/> │
23:19:18 #6551 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │
23:19:18 #6552 [Debug] > │ y2="75"/> │
23:19:18 #6553 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │
23:19:18 #6554 [Debug] > │ x2="103" y2="75"/> │
23:19:18 #6555 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │
23:19:18 #6556 [Debug] > │ x2="111" y2="75"/> │
23:19:18 #6557 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:18 #6558 [Debug] > │ x2="119" y2="75"/> │
23:19:18 #6559 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │
23:19:18 #6560 [Debug] > │ x2="128" y2="75"/> │
23:19:18 #6561 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │
23:19:18 #6562 [Debug] > │ x2="136" y2="75"/> │
23:19:18 #6563 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │
23:19:18 #6564 [Debug] > │ x2="144" y2="75"/> │
23:19:18 #6565 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
23:19:18 #6566 [Debug] > │ x2="153" y2="75"/> │
23:19:18 #6567 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │
23:19:18 #6568 [Debug] > │ x2="161" y2="75"/> │
23:19:18 #6569 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:18 #6570 [Debug] > │ x2="169" y2="75"/> │
23:19:18 #6571 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="178" y1="424" │
23:19:18 #6572 [Debug] > │ x2="178" y2="75"/> │
23:19:18 #6573 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="186" y1="424" │
23:19:18 #6574 [Debug] > │ x2="186" y2="75"/> │
23:19:18 #6575 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │
23:19:18 #6576 [Debug] > │ x2="194" y2="75"/> │
23:19:18 #6577 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="203" y1="424" │
23:19:18 #6578 [Debug] > │ x2="203" y2="75"/> │
23:19:18 #6579 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="211" y1="424" │
23:19:18 #6580 [Debug] > │ x2="211" y2="75"/> │
23:19:18 #6581 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:18 #6582 [Debug] > │ x2="219" y2="75"/> │
23:19:18 #6583 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="228" y1="424" │
23:19:18 #6584 [Debug] > │ x2="228" y2="75"/> │
23:19:18 #6585 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="236" y1="424" │
23:19:18 #6586 [Debug] > │ x2="236" y2="75"/> │
23:19:18 #6587 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="244" y1="424" │
23:19:18 #6588 [Debug] > │ x2="244" y2="75"/> │
23:19:18 #6589 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="252" y1="424" │
23:19:18 #6590 [Debug] > │ x2="252" y2="75"/> │
23:19:18 #6591 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:18 #6592 [Debug] > │ x2="261" y2="75"/> │
23:19:18 #6593 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:18 #6594 [Debug] > │ x2="269" y2="75"/> │
23:19:18 #6595 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424" │
23:19:18 #6596 [Debug] > │ x2="277" y2="75"/> │
23:19:18 #6597 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="286" y1="424" │
23:19:18 #6598 [Debug] > │ x2="286" y2="75"/> │
23:19:18 #6599 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="294" y1="424" │
23:19:18 #6600 [Debug] > │ x2="294" y2="75"/> │
23:19:18 #6601 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="302" y1="424" │
23:19:18 #6602 [Debug] > │ x2="302" y2="75"/> │
23:19:18 #6603 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="311" y1="424" │
23:19:18 #6604 [Debug] > │ x2="311" y2="75"/> │
23:19:18 #6605 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:18 #6606 [Debug] > │ x2="319" y2="75"/> │
23:19:18 #6607 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="327" y1="424" │
23:19:18 #6608 [Debug] > │ x2="327" y2="75"/> │
23:19:18 #6609 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="336" y1="424" │
23:19:18 #6610 [Debug] > │ x2="336" y2="75"/> │
23:19:18 #6611 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="344" y1="424" │
23:19:18 #6612 [Debug] > │ x2="344" y2="75"/> │
23:19:18 #6613 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="352" y1="424" │
23:19:18 #6614 [Debug] > │ x2="352" y2="75"/> │
23:19:18 #6615 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424" │
23:19:18 #6616 [Debug] > │ x2="361" y2="75"/> │
23:19:18 #6617 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:18 #6618 [Debug] > │ x2="369" y2="75"/> │
23:19:18 #6619 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424" │
23:19:18 #6620 [Debug] > │ x2="377" y2="75"/> │
23:19:18 #6621 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="386" y1="424" │
23:19:18 #6622 [Debug] > │ x2="386" y2="75"/> │
23:19:18 #6623 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="394" y1="424" │
23:19:18 #6624 [Debug] > │ x2="394" y2="75"/> │
23:19:18 #6625 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="402" y1="424" │
23:19:18 #6626 [Debug] > │ x2="402" y2="75"/> │
23:19:18 #6627 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="410" y1="424" │
23:19:18 #6628 [Debug] > │ x2="410" y2="75"/> │
23:19:18 #6629 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:18 #6630 [Debug] > │ x2="419" y2="75"/> │
23:19:18 #6631 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="427" y1="424" │
23:19:18 #6632 [Debug] > │ x2="427" y2="75"/> │
23:19:18 #6633 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="435" y1="424" │
23:19:18 #6634 [Debug] > │ x2="435" y2="75"/> │
23:19:18 #6635 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="444" y1="424" │
23:19:18 #6636 [Debug] > │ x2="444" y2="75"/> │
23:19:18 #6637 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424" │
23:19:18 #6638 [Debug] > │ x2="452" y2="75"/> │
23:19:18 #6639 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="460" y1="424" │
23:19:18 #6640 [Debug] > │ x2="460" y2="75"/> │
23:19:18 #6641 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:18 #6642 [Debug] > │ x2="469" y2="75"/> │
23:19:18 #6643 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="477" y1="424" │
23:19:18 #6644 [Debug] > │ x2="477" y2="75"/> │
23:19:18 #6645 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="485" y1="424" │
23:19:18 #6646 [Debug] > │ x2="485" y2="75"/> │
23:19:18 #6647 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="494" y1="424" │
23:19:18 #6648 [Debug] > │ x2="494" y2="75"/> │
23:19:18 #6649 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="502" y1="424" │
23:19:18 #6650 [Debug] > │ x2="502" y2="75"/> │
23:19:18 #6651 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="510" y1="424" │
23:19:18 #6652 [Debug] > │ x2="510" y2="75"/> │
23:19:18 #6653 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:18 #6654 [Debug] > │ x2="519" y2="75"/> │
23:19:18 #6655 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="527" y1="424" │
23:19:18 #6656 [Debug] > │ x2="527" y2="75"/> │
23:19:18 #6657 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="535" y1="424" │
23:19:18 #6658 [Debug] > │ x2="535" y2="75"/> │
23:19:18 #6659 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="544" y1="424" │
23:19:18 #6660 [Debug] > │ x2="544" y2="75"/> │
23:19:18 #6661 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="552" y1="424" │
23:19:18 #6662 [Debug] > │ x2="552" y2="75"/> │
23:19:18 #6663 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424" │
23:19:18 #6664 [Debug] > │ x2="560" y2="75"/> │
23:19:18 #6665 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:18 #6666 [Debug] > │ x2="569" y2="75"/> │
23:19:18 #6667 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="577" y1="424" │
23:19:18 #6668 [Debug] > │ x2="577" y2="75"/> │
23:19:18 #6669 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="414" │
23:19:18 #6670 [Debug] > │ x2="584" y2="414"/> │
23:19:18 #6671 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="398" │
23:19:18 #6672 [Debug] > │ x2="584" y2="398"/> │
23:19:18 #6673 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="383" │
23:19:18 #6674 [Debug] > │ x2="584" y2="383"/> │
23:19:18 #6675 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368" │
23:19:18 #6676 [Debug] > │ x2="584" y2="368"/> │
23:19:18 #6677 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="352" │
23:19:18 #6678 [Debug] > │ x2="584" y2="352"/> │
23:19:18 #6679 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="337" │
23:19:18 #6680 [Debug] > │ x2="584" y2="337"/> │
23:19:18 #6681 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321" │
23:19:18 #6682 [Debug] > │ x2="584" y2="321"/> │
23:19:18 #6683 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="306" │
23:19:18 #6684 [Debug] > │ x2="584" y2="306"/> │
23:19:18 #6685 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="291" │
23:19:18 #6686 [Debug] > │ x2="584" y2="291"/> │
23:19:18 #6687 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="275" │
23:19:18 #6688 [Debug] > │ x2="584" y2="275"/> │
23:19:18 #6689 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="260" │
23:19:18 #6690 [Debug] > │ x2="584" y2="260"/> │
23:19:18 #6691 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="244" │
23:19:18 #6692 [Debug] > │ x2="584" y2="244"/> │
23:19:18 #6693 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="229" │
23:19:18 #6694 [Debug] > │ x2="584" y2="229"/> │
23:19:18 #6695 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="214" │
23:19:18 #6696 [Debug] > │ x2="584" y2="214"/> │
23:19:18 #6697 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="198" │
23:19:18 #6698 [Debug] > │ x2="584" y2="198"/> │
23:19:18 #6699 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="183" │
23:19:18 #6700 [Debug] > │ x2="584" y2="183"/> │
23:19:18 #6701 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="167" │
23:19:18 #6702 [Debug] > │ x2="584" y2="167"/> │
23:19:18 #6703 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="152" │
23:19:18 #6704 [Debug] > │ x2="584" y2="152"/> │
23:19:18 #6705 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="137" │
23:19:18 #6706 [Debug] > │ x2="584" y2="137"/> │
23:19:18 #6707 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="121" │
23:19:18 #6708 [Debug] > │ x2="584" y2="121"/> │
23:19:18 #6709 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106" │
23:19:18 #6710 [Debug] > │ x2="584" y2="106"/> │
23:19:18 #6711 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:18 #6712 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6713 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6714 [Debug] > │ time (s) │
23:19:18 #6715 [Debug] > │ </text> │
23:19:18 #6716 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:18 #6717 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6718 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:18 #6719 [Debug] > │ │
23:19:18 #6720 [Debug] > │ </text> │
23:19:18 #6721 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6722 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6723 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6724 [Debug] > │ time (s) │
23:19:18 #6725 [Debug] > │ </text> │
23:19:18 #6726 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:18 #6727 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6728 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:18 #6729 [Debug] > │ │
23:19:18 #6730 [Debug] > │ </text> │
23:19:18 #6731 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:18 #6732 [Debug] > │ y2="75"/> │
23:19:18 #6733 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="103" y1="424" │
23:19:18 #6734 [Debug] > │ x2="103" y2="75"/> │
23:19:18 #6735 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="136" y1="424" │
23:19:18 #6736 [Debug] > │ x2="136" y2="75"/> │
23:19:18 #6737 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:18 #6738 [Debug] > │ x2="169" y2="75"/> │
23:19:18 #6739 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="203" y1="424" │
23:19:18 #6740 [Debug] > │ x2="203" y2="75"/> │
23:19:18 #6741 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="236" y1="424" │
23:19:18 #6742 [Debug] > │ x2="236" y2="75"/> │
23:19:18 #6743 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:18 #6744 [Debug] > │ x2="269" y2="75"/> │
23:19:18 #6745 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="302" y1="424" │
23:19:18 #6746 [Debug] > │ x2="302" y2="75"/> │
23:19:18 #6747 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="336" y1="424" │
23:19:18 #6748 [Debug] > │ x2="336" y2="75"/> │
23:19:18 #6749 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:18 #6750 [Debug] > │ x2="369" y2="75"/> │
23:19:18 #6751 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="402" y1="424" │
23:19:18 #6752 [Debug] > │ x2="402" y2="75"/> │
23:19:18 #6753 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="435" y1="424" │
23:19:18 #6754 [Debug] > │ x2="435" y2="75"/> │
23:19:18 #6755 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:18 #6756 [Debug] > │ x2="469" y2="75"/> │
23:19:18 #6757 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="502" y1="424" │
23:19:18 #6758 [Debug] > │ x2="502" y2="75"/> │
23:19:18 #6759 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="535" y1="424" │
23:19:18 #6760 [Debug] > │ x2="535" y2="75"/> │
23:19:18 #6761 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="398" │
23:19:18 #6762 [Debug] > │ x2="584" y2="398"/> │
23:19:18 #6763 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="360" │
23:19:18 #6764 [Debug] > │ x2="584" y2="360"/> │
23:19:18 #6765 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="321" │
23:19:18 #6766 [Debug] > │ x2="584" y2="321"/> │
23:19:18 #6767 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="283" │
23:19:18 #6768 [Debug] > │ x2="584" y2="283"/> │
23:19:18 #6769 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="244" │
23:19:18 #6770 [Debug] > │ x2="584" y2="244"/> │
23:19:18 #6771 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="206" │
23:19:18 #6772 [Debug] > │ x2="584" y2="206"/> │
23:19:18 #6773 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="167" │
23:19:18 #6774 [Debug] > │ x2="584" y2="167"/> │
23:19:18 #6775 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="129" │
23:19:18 #6776 [Debug] > │ x2="584" y2="129"/> │
23:19:18 #6777 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="91" x2="584" │
23:19:18 #6778 [Debug] > │ y2="91"/> │
23:19:18 #6779 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6780 [Debug] > │ points="55,74 584,74 "/> │
23:19:18 #6781 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6782 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6783 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6784 [Debug] > │ 0.0 │
23:19:18 #6785 [Debug] > │ </text> │
23:19:18 #6786 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6787 [Debug] > │ points="69,69 69,74 "/> │
23:19:18 #6788 [Debug] > │ <text x="103" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6789 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6790 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6791 [Debug] > │ 0.2 │
23:19:18 #6792 [Debug] > │ </text> │
23:19:18 #6793 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6794 [Debug] > │ points="103,69 103,74 "/> │
23:19:18 #6795 [Debug] > │ <text x="136" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6796 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6797 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6798 [Debug] > │ 0.4 │
23:19:18 #6799 [Debug] > │ </text> │
23:19:18 #6800 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6801 [Debug] > │ points="136,69 136,74 "/> │
23:19:18 #6802 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6803 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6804 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6805 [Debug] > │ 0.6 │
23:19:18 #6806 [Debug] > │ </text> │
23:19:18 #6807 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6808 [Debug] > │ points="169,69 169,74 "/> │
23:19:18 #6809 [Debug] > │ <text x="203" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6810 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6811 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6812 [Debug] > │ 0.8 │
23:19:18 #6813 [Debug] > │ </text> │
23:19:18 #6814 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6815 [Debug] > │ points="203,69 203,74 "/> │
23:19:18 #6816 [Debug] > │ <text x="236" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6817 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6818 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6819 [Debug] > │ 1.0 │
23:19:18 #6820 [Debug] > │ </text> │
23:19:18 #6821 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6822 [Debug] > │ points="236,69 236,74 "/> │
23:19:18 #6823 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6824 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6825 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6826 [Debug] > │ 1.2 │
23:19:18 #6827 [Debug] > │ </text> │
23:19:18 #6828 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6829 [Debug] > │ points="269,69 269,74 "/> │
23:19:18 #6830 [Debug] > │ <text x="302" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6831 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6832 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6833 [Debug] > │ 1.4 │
23:19:18 #6834 [Debug] > │ </text> │
23:19:18 #6835 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6836 [Debug] > │ points="302,69 302,74 "/> │
23:19:18 #6837 [Debug] > │ <text x="336" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6838 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6839 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6840 [Debug] > │ 1.6 │
23:19:18 #6841 [Debug] > │ </text> │
23:19:18 #6842 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6843 [Debug] > │ points="336,69 336,74 "/> │
23:19:18 #6844 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6845 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6846 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6847 [Debug] > │ 1.8 │
23:19:18 #6848 [Debug] > │ </text> │
23:19:18 #6849 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6850 [Debug] > │ points="369,69 369,74 "/> │
23:19:18 #6851 [Debug] > │ <text x="402" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6852 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6853 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6854 [Debug] > │ 2.0 │
23:19:18 #6855 [Debug] > │ </text> │
23:19:18 #6856 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6857 [Debug] > │ points="402,69 402,74 "/> │
23:19:18 #6858 [Debug] > │ <text x="435" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6859 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6860 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6861 [Debug] > │ 2.2 │
23:19:18 #6862 [Debug] > │ </text> │
23:19:18 #6863 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6864 [Debug] > │ points="435,69 435,74 "/> │
23:19:18 #6865 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6866 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6867 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6868 [Debug] > │ 2.4 │
23:19:18 #6869 [Debug] > │ </text> │
23:19:18 #6870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6871 [Debug] > │ points="469,69 469,74 "/> │
23:19:18 #6872 [Debug] > │ <text x="502" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6873 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6874 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6875 [Debug] > │ 2.6 │
23:19:18 #6876 [Debug] > │ </text> │
23:19:18 #6877 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6878 [Debug] > │ points="502,69 502,74 "/> │
23:19:18 #6879 [Debug] > │ <text x="535" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:18 #6880 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6881 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6882 [Debug] > │ 2.8 │
23:19:18 #6883 [Debug] > │ </text> │
23:19:18 #6884 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6885 [Debug] > │ points="535,69 535,74 "/> │
23:19:18 #6886 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6887 [Debug] > │ points="54,75 54,424 "/> │
23:19:18 #6888 [Debug] > │ <text x="45" y="398" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6889 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6890 [Debug] > │ -2.0 │
23:19:18 #6891 [Debug] > │ </text> │
23:19:18 #6892 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6893 [Debug] > │ points="49,398 54,398 "/> │
23:19:18 #6894 [Debug] > │ <text x="45" y="360" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6895 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6896 [Debug] > │ -1.5 │
23:19:18 #6897 [Debug] > │ </text> │
23:19:18 #6898 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6899 [Debug] > │ points="49,360 54,360 "/> │
23:19:18 #6900 [Debug] > │ <text x="45" y="321" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6901 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6902 [Debug] > │ -1.0 │
23:19:18 #6903 [Debug] > │ </text> │
23:19:18 #6904 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6905 [Debug] > │ points="49,321 54,321 "/> │
23:19:18 #6906 [Debug] > │ <text x="45" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6907 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6908 [Debug] > │ -0.5 │
23:19:18 #6909 [Debug] > │ </text> │
23:19:18 #6910 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6911 [Debug] > │ points="49,283 54,283 "/> │
23:19:18 #6912 [Debug] > │ <text x="45" y="244" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6913 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6914 [Debug] > │ 0.0 │
23:19:18 #6915 [Debug] > │ </text> │
23:19:18 #6916 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6917 [Debug] > │ points="49,244 54,244 "/> │
23:19:18 #6918 [Debug] > │ <text x="45" y="206" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6919 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6920 [Debug] > │ 0.5 │
23:19:18 #6921 [Debug] > │ </text> │
23:19:18 #6922 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6923 [Debug] > │ points="49,206 54,206 "/> │
23:19:18 #6924 [Debug] > │ <text x="45" y="167" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6925 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6926 [Debug] > │ 1.0 │
23:19:18 #6927 [Debug] > │ </text> │
23:19:18 #6928 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6929 [Debug] > │ points="49,167 54,167 "/> │
23:19:18 #6930 [Debug] > │ <text x="45" y="129" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6931 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6932 [Debug] > │ 1.5 │
23:19:18 #6933 [Debug] > │ </text> │
23:19:18 #6934 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6935 [Debug] > │ points="49,129 54,129 "/> │
23:19:18 #6936 [Debug] > │ <text x="45" y="91" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #6937 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #6938 [Debug] > │ 2.0 │
23:19:18 #6939 [Debug] > │ </text> │
23:19:18 #6940 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6941 [Debug] > │ points="49,91 54,91 "/> │
23:19:18 #6942 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6943 [Debug] > │ points="55,425 584,425 "/> │
23:19:18 #6944 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6945 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6946 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6947 [Debug] > │ 0.0 │
23:19:18 #6948 [Debug] > │ </text> │
23:19:18 #6949 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6950 [Debug] > │ points="69,425 69,430 "/> │
23:19:18 #6951 [Debug] > │ <text x="103" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6952 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6953 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6954 [Debug] > │ 0.2 │
23:19:18 #6955 [Debug] > │ </text> │
23:19:18 #6956 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6957 [Debug] > │ points="103,425 103,430 "/> │
23:19:18 #6958 [Debug] > │ <text x="136" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6959 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6960 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6961 [Debug] > │ 0.4 │
23:19:18 #6962 [Debug] > │ </text> │
23:19:18 #6963 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6964 [Debug] > │ points="136,425 136,430 "/> │
23:19:18 #6965 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6966 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6967 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6968 [Debug] > │ 0.6 │
23:19:18 #6969 [Debug] > │ </text> │
23:19:18 #6970 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6971 [Debug] > │ points="169,425 169,430 "/> │
23:19:18 #6972 [Debug] > │ <text x="203" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6973 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6974 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6975 [Debug] > │ 0.8 │
23:19:18 #6976 [Debug] > │ </text> │
23:19:18 #6977 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6978 [Debug] > │ points="203,425 203,430 "/> │
23:19:18 #6979 [Debug] > │ <text x="236" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6980 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6981 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6982 [Debug] > │ 1.0 │
23:19:18 #6983 [Debug] > │ </text> │
23:19:18 #6984 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6985 [Debug] > │ points="236,425 236,430 "/> │
23:19:18 #6986 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6987 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6988 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6989 [Debug] > │ 1.2 │
23:19:18 #6990 [Debug] > │ </text> │
23:19:18 #6991 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6992 [Debug] > │ points="269,425 269,430 "/> │
23:19:18 #6993 [Debug] > │ <text x="302" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #6994 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #6995 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #6996 [Debug] > │ 1.4 │
23:19:18 #6997 [Debug] > │ </text> │
23:19:18 #6998 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #6999 [Debug] > │ points="302,425 302,430 "/> │
23:19:18 #7000 [Debug] > │ <text x="336" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7001 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7002 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7003 [Debug] > │ 1.6 │
23:19:18 #7004 [Debug] > │ </text> │
23:19:18 #7005 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7006 [Debug] > │ points="336,425 336,430 "/> │
23:19:18 #7007 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7008 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7009 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7010 [Debug] > │ 1.8 │
23:19:18 #7011 [Debug] > │ </text> │
23:19:18 #7012 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7013 [Debug] > │ points="369,425 369,430 "/> │
23:19:18 #7014 [Debug] > │ <text x="402" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7015 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7016 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7017 [Debug] > │ 2.0 │
23:19:18 #7018 [Debug] > │ </text> │
23:19:18 #7019 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7020 [Debug] > │ points="402,425 402,430 "/> │
23:19:18 #7021 [Debug] > │ <text x="435" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7022 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7023 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7024 [Debug] > │ 2.2 │
23:19:18 #7025 [Debug] > │ </text> │
23:19:18 #7026 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7027 [Debug] > │ points="435,425 435,430 "/> │
23:19:18 #7028 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7029 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7030 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7031 [Debug] > │ 2.4 │
23:19:18 #7032 [Debug] > │ </text> │
23:19:18 #7033 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7034 [Debug] > │ points="469,425 469,430 "/> │
23:19:18 #7035 [Debug] > │ <text x="502" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7036 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7037 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7038 [Debug] > │ 2.6 │
23:19:18 #7039 [Debug] > │ </text> │
23:19:18 #7040 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7041 [Debug] > │ points="502,425 502,430 "/> │
23:19:18 #7042 [Debug] > │ <text x="535" y="435" dy="0.76em" text-anchor="middle" │
23:19:18 #7043 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7044 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7045 [Debug] > │ 2.8 │
23:19:18 #7046 [Debug] > │ </text> │
23:19:18 #7047 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7048 [Debug] > │ points="535,425 535,430 "/> │
23:19:18 #7049 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7050 [Debug] > │ points="585,75 585,424 "/> │
23:19:18 #7051 [Debug] > │ <text x="595" y="398" dy="0.5ex" text-anchor="start" │
23:19:18 #7052 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7053 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7054 [Debug] > │ -2.0 │
23:19:18 #7055 [Debug] > │ </text> │
23:19:18 #7056 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7057 [Debug] > │ points="585,398 590,398 "/> │
23:19:18 #7058 [Debug] > │ <text x="595" y="360" dy="0.5ex" text-anchor="start" │
23:19:18 #7059 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7060 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7061 [Debug] > │ -1.5 │
23:19:18 #7062 [Debug] > │ </text> │
23:19:18 #7063 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7064 [Debug] > │ points="585,360 590,360 "/> │
23:19:18 #7065 [Debug] > │ <text x="595" y="321" dy="0.5ex" text-anchor="start" │
23:19:18 #7066 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7067 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7068 [Debug] > │ -1.0 │
23:19:18 #7069 [Debug] > │ </text> │
23:19:18 #7070 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7071 [Debug] > │ points="585,321 590,321 "/> │
23:19:18 #7072 [Debug] > │ <text x="595" y="283" dy="0.5ex" text-anchor="start" │
23:19:18 #7073 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:18 #7074 [Debug] > │ fill="#FFFFFF"> │
23:19:18 #7075 [Debug] > │ -0.5 │
23:19:18 #7076 [Debug] > │ </text> │
23:19:18 #7077 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7078 [Debug] > │ points="585,283 590,283 "/> │
23:19:18 #7079 [Debug] > │ <text x="617" y="244" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #7080 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #7081 [Debug] > │ 0.0 │
23:19:18 #7082 [Debug] > │ </text> │
23:19:18 #7083 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7084 [Debug] > │ points="585,244 590,244 "/> │
23:19:18 #7085 [Debug] > │ <text x="617" y="206" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #7086 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #7087 [Debug] > │ 0.5 │
23:19:18 #7088 [Debug] > │ </text> │
23:19:18 #7089 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:18 #7090 [Debug] > │ points="585,206 590,206 "/> │
23:19:18 #7091 [Debug] > │ <text x="617" y="167" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:18 #7092 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:18 #7093 [Debug] > │ 1.0 │
23:19:18 #7094 [Debug] > │ </text> │
23:19:18 #7095 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:19 #7096 [Debug] > │ points="585,167 590,167 "/> │
23:19:19 #7097 [Debug] > │ <text x="617" y="129" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:19 #7098 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:19 #7099 [Debug] > │ 1.5 │
23:19:19 #7100 [Debug] > │ </text> │
23:19:19 #7101 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:19 #7102 [Debug] > │ points="585,129 590,129 "/> │
23:19:19 #7103 [Debug] > │ <text x="617" y="91" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:19 #7104 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:19 #7105 [Debug] > │ 2.0 │
23:19:19 #7106 [Debug] > │ </text> │
23:19:19 #7107 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:19 #7108 [Debug] > │ points="585,91 590,91 "/> │
23:19:19 #7109 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:19 #7110 [Debug] > │ points="69,244 71,275 73,304 74,331 76,356 78,377 79,393 81,406 83,413 │
23:19:19 #7111 [Debug] > │ 84,415 86,412 88,404 89,391 91,375 93,355 94,332 96,307 98,280 99,252 │
23:19:19 #7112 [Debug] > │ 101,223 103,196 104,170 106,146 108,126 109,109 111,96 113,89 114,85 116,87 │
23:19:19 #7113 [Debug] > │ 118,93 119,103 121,118 123,136 124,157 126,180 128,205 129,231 131,257 │
23:19:19 #7114 [Debug] > │ 133,283 134,308 136,331 138,351 139,368 141,381 143,389 144,394 146,393 │
23:19:19 #7115 [Debug] > │ 148,389 149,380 151,367 153,351 154,332 156,311 158,288 159,264 161,239 │
23:19:19 #7116 [Debug] > │ 163,214 164,190 166,168 168,148 169,132 171,118 173,109 174,104 176,103 │
23:19:19 #7117 [Debug] > │ 178,106 179,114 181,125 183,139 184,156 186,176 188,197 189,220 191,244 │
23:19:19 #7118 [Debug] > │ 193,267 194,290 196,312 198,331 199,348 201,361 203,371 204,377 206,379 │
23:19:19 #7119 [Debug] > │ 208,377 209,371 211,361 213,348 214,333 216,314 218,294 219,273 221,251 │
23:19:19 #7120 [Debug] > │ 223,228 224,206 226,185 228,166 229,150 231,136 232,126 234,119 236,117 │
23:19:19 #7121 [Debug] > │ 237,118 239,122 241,130 242,142 244,156 246,173 247,192 249,212 251,233 │
23:19:19 #7122 [Debug] > │ 252,254 254,276 256,296 257,315 259,331 261,345 262,355 264,363 266,366 │
23:19:19 #7123 [Debug] > │ 267,366 269,363 271,356 272,346 274,333 276,317 277,300 279,281 281,261 │
23:19:19 #7124 [Debug] > │ 282,240 284,220 286,200 287,182 289,165 291,151 292,140 294,133 296,128 │
23:19:19 #7125 [Debug] > │ 297,127 299,130 301,136 302,145 304,156 306,171 307,187 309,205 311,224 │
23:19:19 #7126 [Debug] > │ 312,244 314,263 316,283 317,301 319,317 321,331 322,342 324,350 326,355 │
23:19:19 #7127 [Debug] > │ 327,357 329,356 331,351 332,343 334,332 336,319 337,304 339,287 341,269 │
23:19:19 #7128 [Debug] > │ 342,250 344,231 346,212 347,195 349,178 351,164 352,153 354,144 356,138 │
23:19:19 #7129 [Debug] > │ 357,136 359,136 361,140 362,147 364,157 366,169 367,183 369,199 371,216 │
23:19:19 #7130 [Debug] > │ 372,234 374,253 376,271 377,288 379,304 381,318 382,330 384,339 386,346 │
23:19:19 #7131 [Debug] > │ 387,349 389,349 391,346 392,340 394,332 396,321 397,307 399,292 401,276 │
23:19:19 #7132 [Debug] > │ 402,258 404,241 406,223 407,206 409,190 410,176 412,164 414,154 415,148 │
23:19:19 #7133 [Debug] > │ 417,144 419,143 420,145 422,150 424,158 425,168 427,180 429,194 430,210 │
23:19:19 #7134 [Debug] > │ 432,227 434,244 435,261 437,278 439,293 440,307 442,320 444,330 445,337 │
23:19:19 #7135 [Debug] > │ 447,341 449,343 450,342 452,338 454,331 455,322 457,310 459,297 460,282 │
23:19:19 #7136 [Debug] > │ 462,266 464,249 465,233 467,216 469,201 470,187 472,174 474,164 475,156 │
23:19:19 #7137 [Debug] > │ 477,151 479,149 480,149 482,153 484,159 485,167 487,178 489,190 490,204 │
23:19:19 #7138 [Debug] > │ 492,220 494,236 495,252 497,268 499,283 500,297 502,310 504,320 505,329 │
23:19:19 #7139 [Debug] > │ 507,334 509,337 510,337 512,335 514,330 515,322 517,312 519,300 520,287 │
23:19:19 #7140 [Debug] > │ 522,272 524,257 525,241 527,226 529,210 530,196 532,184 534,173 535,164 │
23:19:19 #7141 [Debug] > │ 537,158 539,154 540,154 542,155 544,160 545,167 547,176 549,187 550,199 │
23:19:19 #7142 [Debug] > │ 552,213 554,228 555,244 557,259 559,274 560,288 562,301 564,312 565,321 │
23:19:19 #7143 [Debug] > │ 567,327 569,332 "/> │
23:19:19 #7144 [Debug] > │ <rect x="454" y="235" width="126" height="30" opacity="1" fill="none" │
23:19:19 #7145 [Debug] > │ stroke="#FFFFFF"/> │
23:19:19 #7146 [Debug] > │ <text x="494" y="245" dy="0.76em" text-anchor="start" │
23:19:19 #7147 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:19 #7148 [Debug] > │ fill="#FFFFFF"> │
23:19:19 #7149 [Debug] > │ velocity (m/s) │
23:19:19 #7150 [Debug] > │ </text> │
23:19:19 #7151 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:19 #7152 [Debug] > │ points="464,250 484,250 "/> │
23:19:19 #7153 [Debug] > │ </svg> │
23:19:19 #7154 [Debug] > │ │
23:19:19 #7155 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7156 [Debug] >
23:19:19 #7157 [Debug] > ╭─[ 651.06ms - stdout ]────────────────────────────────────────────────────────╮
23:19:19 #7158 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:19 #7159 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:19 #7160 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:19 #7161 [Debug] > │ let v2 : bool = v1 < 301 │
23:19:19 #7162 [Debug] > │ v2 │
23:19:19 #7163 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:19 #7164 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:19 #7165 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:19 #7166 [Debug] > │ v3 │
23:19:19 #7167 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : float, v3 : float) : struct (float │
23:19:19 #7168 [Debug] > │ * float * float) = │
23:19:19 #7169 [Debug] > │ let v4 : bool = v3 <= 0.0 │
23:19:19 #7170 [Debug] > │ if v4 then │
23:19:19 #7171 [Debug] > │ struct (v0, v1, v2) │
23:19:19 #7172 [Debug] > │ else │
23:19:19 #7173 [Debug] > │ let v5 : float = -v2 │
23:19:19 #7174 [Debug] > │ let v6 : bool = v2 >= v5 │
23:19:19 #7175 [Debug] > │ let v7 : float = │
23:19:19 #7176 [Debug] > │ if v6 then │
23:19:19 #7177 [Debug] > │ v2 │
23:19:19 #7178 [Debug] > │ else │
23:19:19 #7179 [Debug] > │ v5 │
23:19:19 #7180 [Debug] > │ let v8 : float = -0.0030787608005179976 * v7 │
23:19:19 #7181 [Debug] > │ let v9 : float = v8 * v2 │
23:19:19 #7182 [Debug] > │ let v10 : float = v9 / 2.0 │
23:19:19 #7183 [Debug] > │ let v11 : float = -0.8 * v1 │
23:19:19 #7184 [Debug] > │ let v12 : float = v11 + v10 │
23:19:19 #7185 [Debug] > │ let v13 : float = v12 + -0.026477955 │
23:19:19 #7186 [Debug] > │ let v14 : float = v13 / 0.0027 │
23:19:19 #7187 [Debug] > │ let v15 : float = v0 + 0.001 │
23:19:19 #7188 [Debug] > │ let v16 : float = v2 * 0.001 │
23:19:19 #7189 [Debug] > │ let v17 : float = v1 + v16 │
23:19:19 #7190 [Debug] > │ let v18 : float = v14 * 0.001 │
23:19:19 #7191 [Debug] > │ let v19 : float = v2 + v18 │
23:19:19 #7192 [Debug] > │ let v20 : float = v3 - 1.0 │
23:19:19 #7193 [Debug] > │ method3(v15, v17, v19, v20) │
23:19:19 #7194 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:19 #7195 [Debug] > │ []) * (float [])) [])) = │
23:19:19 #7196 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (301) │
23:19:19 #7197 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:19 #7198 [Debug] > │ while method1(v1) do │
23:19:19 #7199 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:19 #7200 [Debug] > │ let v4 : float = float v3 │
23:19:19 #7201 [Debug] > │ let v5 : float = 0.01 * v4 │
23:19:19 #7202 [Debug] > │ v0.[int v3] <- v5 │
23:19:19 #7203 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:19 #7204 [Debug] > │ v1.l0 <- v6 │
23:19:19 #7205 [Debug] > │ () │
23:19:19 #7206 [Debug] > │ let v7 : int32 = v0.Length │
23:19:19 #7207 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:19 #7208 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:19 #7209 [Debug] > │ while method2(v7, v9) do │
23:19:19 #7210 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:19 #7211 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:19 #7212 [Debug] > │ let v13 : float = 0.0 │
23:19:19 #7213 [Debug] > │ let v14 : float = 0.1 │
23:19:19 #7214 [Debug] > │ let v15 : float = 0.0 │
23:19:19 #7215 [Debug] > │ let v16 : float = 0.0 │
23:19:19 #7216 [Debug] > │ let struct (v17 : float, v18 : float, v19 : float) = method3(v13, │
23:19:19 #7217 [Debug] > │ v14, v15, v16) │
23:19:19 #7218 [Debug] > │ let v20 : float = 0.0 │
23:19:19 #7219 [Debug] > │ let v21 : float = 0.1 │
23:19:19 #7220 [Debug] > │ let v22 : float = 0.0 │
23:19:19 #7221 [Debug] > │ let v23 : float = 1.0 │
23:19:19 #7222 [Debug] > │ let struct (v24 : float, v25 : float, v26 : float) = method3(v20, │
23:19:19 #7223 [Debug] > │ v21, v22, v23) │
23:19:19 #7224 [Debug] > │ let v27 : float = v24 - v17 │
23:19:19 #7225 [Debug] > │ let v28 : float = v12 / v27 │
23:19:19 #7226 [Debug] > │ let v29 : float = round v28 │
23:19:19 #7227 [Debug] > │ let v30 : float = -v29 │
23:19:19 #7228 [Debug] > │ let v31 : bool = v29 >= v30 │
23:19:19 #7229 [Debug] > │ let v32 : float = │
23:19:19 #7230 [Debug] > │ if v31 then │
23:19:19 #7231 [Debug] > │ v29 │
23:19:19 #7232 [Debug] > │ else │
23:19:19 #7233 [Debug] > │ v30 │
23:19:19 #7234 [Debug] > │ let v33 : float = 0.0 │
23:19:19 #7235 [Debug] > │ let v34 : float = 0.1 │
23:19:19 #7236 [Debug] > │ let v35 : float = 0.0 │
23:19:19 #7237 [Debug] > │ let struct (v36 : float, v37 : float, v38 : float) = method3(v33, │
23:19:19 #7238 [Debug] > │ v34, v35, v32) │
23:19:19 #7239 [Debug] > │ v8.[int v11] <- v38 │
23:19:19 #7240 [Debug] > │ let v39 : int32 = v11 + 1 │
23:19:19 #7241 [Debug] > │ v9.l0 <- v39 │
23:19:19 #7242 [Debug] > │ () │
23:19:19 #7243 [Debug] > │ let v40 : string = "velocity (m/s)" │
23:19:19 #7244 [Debug] > │ let v41 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:19 #7245 [Debug] > │ (v40, v0, v8)|] │
23:19:19 #7246 [Debug] > │ let v42 : string = "ping pong ball on a slinky" │
23:19:19 #7247 [Debug] > │ let v43 : string = "time (s)" │
23:19:19 #7248 [Debug] > │ let v44 : string = "" │
23:19:19 #7249 [Debug] > │ struct (v42, v43, v44, v41) │
23:19:19 #7250 [Debug] > │ method0() │
23:19:19 #7251 [Debug] > │ │
23:19:19 #7252 [Debug] > │ │
23:19:19 #7253 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7254 [Debug] >
23:19:19 #7255 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:19 #7256 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:19 #7257 [Debug] > │ ## shift │
23:19:19 #7258 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7259 [Debug] >
23:19:19 #7260 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:19 #7261 [Debug] > type update_function s = s -> s
23:19:19 #7262 [Debug] >
23:19:19 #7263 [Debug] > type differential_equation s ds = s -> ds
23:19:19 #7264 [Debug] >
23:19:19 #7265 [Debug] > type numerical_method s ds = differential_equation s ds -> update_function s
23:19:19 #7266 [Debug] >
23:19:19 #7267 [Debug] >
23:19:19 #7268 [Debug] > inl solver method =
23:19:19 #7269 [Debug] > method >> seq.iterate
23:19:19 #7270 [Debug] > inl solver' method =
23:19:19 #7271 [Debug] > method >> seq.iterate'
23:19:19 #7272 [Debug] > inl solver_ method =
23:19:19 #7273 [Debug] > method >> seq.iterate_
23:19:19 #7274 [Debug] >
23:19:19 #7275 [Debug] >
23:19:19 #7276 [Debug] > inl euler_cromer_1d dt deriv (state_1d (t0, x0, v0) as t) =
23:19:19 #7277 [Debug] > inl (rrr (_, _, dvdt)) = deriv t
23:19:19 #7278 [Debug] > inl t1 = t0 + dt
23:19:19 #7279 [Debug] > inl v1 = v0 + dvdt * dt
23:19:19 #7280 [Debug] > inl x1 = x0 + v1 * dt
23:19:19 #7281 [Debug] > state_1d (t1, x1, v1)
23:19:19 #7282 [Debug] >
23:19:19 #7283 [Debug] > inl update_txv_ec dt m fs =
23:19:19 #7284 [Debug] > euler_cromer_1d dt (newton_second_1d m fs)
23:19:19 #7285 [Debug] >
23:19:19 #7286 [Debug] > prototype (+++) ds : ds -> ds -> ds
23:19:19 #7287 [Debug] > prototype scale ds : f64 -> ds -> ds
23:19:19 #7288 [Debug] >
23:19:19 #7289 [Debug] > instance (+++) rrr = fun (rrr (dtdt0, dxdt0, dvdt0)) (rrr (dtdt1, dxdt1, dvdt1))
23:19:19 #7290 [Debug] > =>
23:19:19 #7291 [Debug] > rrr (dtdt0 + dtdt1, dxdt0 + dxdt1, dvdt0 + dvdt1)
23:19:19 #7292 [Debug] >
23:19:19 #7293 [Debug] > instance scale rrr = fun w (rrr (dtdt0, dxdt0, dvdt0)) =>
23:19:19 #7294 [Debug] > rrr (w * dtdt0, w * dxdt0, w * dvdt0)
23:19:19 #7295 [Debug] >
23:19:19 #7296 [Debug] > prototype shift s : forall ds. f64 -> ds -> s -> s
23:19:19 #7297 [Debug] >
23:19:19 #7298 [Debug] > instance shift state_1d = fun dt ds (state_1d (t, x, v)) =>
23:19:19 #7299 [Debug] > inl dtdt, dxdt, dvdt =
23:19:19 #7300 [Debug] > real
23:19:19 #7301 [Debug] > match ds with
23:19:19 #7302 [Debug] > | rrr x => x
23:19:19 #7303 [Debug] > | state_1d x => x
23:19:19 #7304 [Debug] > state_1d (t + dtdt * dt, x + dxdt * dt, v + dvdt * dt)
23:19:19 #7305 [Debug] >
23:19:19 #7306 [Debug] > inl euler dt deriv st0 =
23:19:19 #7307 [Debug] > shift dt (deriv st0) st0
23:19:19 #7308 [Debug] >
23:19:19 #7309 [Debug] > inl runge_kutta_4 dt deriv st0 =
23:19:19 #7310 [Debug] > inl m0 = deriv st0
23:19:19 #7311 [Debug] > inl m1 = deriv (shift (dt / 2) m0 st0)
23:19:19 #7312 [Debug] > inl m2 = deriv (shift (dt / 2) m1 st0)
23:19:19 #7313 [Debug] > inl m3 = deriv (shift dt m2 st0)
23:19:19 #7314 [Debug] > shift (dt / 6) (m0 +++ m1 +++ m1 +++ m2 +++ m2 +++ m3) st0
23:19:19 #7315 [Debug] >
23:19:19 #7316 [Debug] > inl exponential (_, x0, v0) =
23:19:19 #7317 [Debug] > 1f64, v0, x0
23:19:19 #7318 [Debug] >
23:19:19 #7319 [Debug] > inl of_state_1d (state_1d (t, x, v)) =
23:19:19 #7320 [Debug] > t, x, v
23:19:19 #7321 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1911-1146-1c443cc8e247\main.spi
23:19:19 #7322 [Debug] >
23:19:19 #7323 [Debug] > ╭─[ 204.29ms - stdout ]────────────────────────────────────────────────────────╮
23:19:19 #7324 [Debug] > │ () │
23:19:19 #7325 [Debug] > │ │
23:19:19 #7326 [Debug] > │ │
23:19:19 #7327 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7328 [Debug] >
23:19:19 #7329 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:19 #7330 [Debug] > // // test
23:19:19 #7331 [Debug] >
23:19:19 #7332 [Debug] > solver (euler 0.01) (of_state_1d >> exponential >> state_1d) (state_1d (0, 1,
23:19:19 #7333 [Debug] > 1)) 800i32
23:19:19 #7334 [Debug] > |> _equal (state_1d (7.999999999999874, 2864.8311229272326, 2864.8311229272326))
23:19:19 #7335 [Debug] >
23:19:19 #7336 [Debug] > solver (euler_cromer_1d 0.1) (of_state_1d >> exponential >> rrr) (state_1d (0,
23:19:19 #7337 [Debug] > 1, 1)) 80i32
23:19:19 #7338 [Debug] > |> _equal (state_1d (7.999999999999988, 3043.379244966009, 2895.0121485099035))
23:19:19 #7339 [Debug] >
23:19:19 #7340 [Debug] > solver (runge_kutta_4 1) (of_state_1d >> exponential >> rrr) (state_1d (0, 1,
23:19:19 #7341 [Debug] > 1)) 8i32
23:19:19 #7342 [Debug] > |> _equal (state_1d (8.0, 2894.789038540849, 2894.789038540849))
23:19:19 #7343 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1931-3167-3fb5ad1d8cfb\main.spi
23:19:19 #7344 [Debug] >
23:19:19 #7345 [Debug] > ╭─[ 280.91ms - stdout ]────────────────────────────────────────────────────────╮
23:19:19 #7346 [Debug] > │ let rec method0 () : unit = │
23:19:19 #7347 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (7.999999999999874, │
23:19:19 #7348 [Debug] > │ 2864.8311229272326, 2864.8311229272326)} / expected: %A{struct │
23:19:19 #7349 [Debug] > │ (7.999999999999874, 2864.8311229272326, 2864.8311229272326)}" │
23:19:19 #7350 [Debug] > │ let v1 : string = $"_equal / actual: %A{struct (7.999999999999988, │
23:19:19 #7351 [Debug] > │ 3043.379244966009, 2895.0121485099035)} / expected: %A{struct │
23:19:19 #7352 [Debug] > │ (7.999999999999988, 3043.379244966009, 2895.0121485099035)}" │
23:19:19 #7353 [Debug] > │ let v2 : string = $"_equal / actual: %A{struct (8.0, 2894.789038540849, │
23:19:19 #7354 [Debug] > │ 2894.789038540849)} / expected: %A{struct (8.0, 2894.789038540849, │
23:19:19 #7355 [Debug] > │ 2894.789038540849)}" │
23:19:19 #7356 [Debug] > │ () │
23:19:19 #7357 [Debug] > │ method0() │
23:19:19 #7358 [Debug] > │ │
23:19:19 #7359 [Debug] > │ │
23:19:19 #7360 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7361 [Debug] >
23:19:19 #7362 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:19 #7363 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:19 #7364 [Debug] > │ ## vec │
23:19:19 #7365 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7366 [Debug] >
23:19:19 #7367 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:19 #7368 [Debug] > type vec =
23:19:19 #7369 [Debug] > {
23:19:19 #7370 [Debug] > x : f64
23:19:19 #7371 [Debug] > y : f64
23:19:19 #7372 [Debug] > z : f64
23:19:19 #7373 [Debug] > }
23:19:19 #7374 [Debug] >
23:19:19 #7375 [Debug] > inl vec x y z : vec =
23:19:19 #7376 [Debug] > { x y z }
23:19:19 #7377 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1960-6068-6deb23cd8f73\main.spi
23:19:19 #7378 [Debug] >
23:19:19 #7379 [Debug] > ╭─[ 192.71ms - stdout ]────────────────────────────────────────────────────────╮
23:19:19 #7380 [Debug] > │ () │
23:19:19 #7381 [Debug] > │ │
23:19:19 #7382 [Debug] > │ │
23:19:19 #7383 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:19 #7384 [Debug] >
23:19:19 #7385 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:19 #7386 [Debug] > // // test
23:19:19 #7387 [Debug] >
23:19:19 #7388 [Debug] > vec 1 2 3 .z
23:19:19 #7389 [Debug] > |> _equal 3
23:19:19 #7390 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-1980-8024-8323e9cd5e95\main.spi
23:19:20 #7391 [Debug] >
23:19:20 #7392 [Debug] > ╭─[ 320.07ms - stdout ]────────────────────────────────────────────────────────╮
23:19:20 #7393 [Debug] > │ let rec method0 () : unit = │
23:19:20 #7394 [Debug] > │ let v0 : string = $"_equal / actual: %A{3.0} / expected: %A{3.0}" │
23:19:20 #7395 [Debug] > │ () │
23:19:20 #7396 [Debug] > │ method0() │
23:19:20 #7397 [Debug] > │ │
23:19:20 #7398 [Debug] > │ │
23:19:20 #7399 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7400 [Debug] >
23:19:20 #7401 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:20 #7402 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:20 #7403 [Debug] > │ ### consts │
23:19:20 #7404 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7405 [Debug] >
23:19:20 #7406 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:20 #7407 [Debug] > inl i_hat () = vec 1 0 0
23:19:20 #7408 [Debug] > inl j_hat () = vec 0 1 0
23:19:20 #7409 [Debug] > inl k_hat () = vec 0 0 1
23:19:20 #7410 [Debug] > inl zero_vec () = vec 0 0 0
23:19:20 #7411 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2013-1307-19989f4286e3\main.spi
23:19:20 #7412 [Debug] >
23:19:20 #7413 [Debug] > ╭─[ 144.11ms - stdout ]────────────────────────────────────────────────────────╮
23:19:20 #7414 [Debug] > │ () │
23:19:20 #7415 [Debug] > │ │
23:19:20 #7416 [Debug] > │ │
23:19:20 #7417 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7418 [Debug] >
23:19:20 #7419 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:20 #7420 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:20 #7421 [Debug] > │ ### ^+^ │
23:19:20 #7422 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7423 [Debug] >
23:19:20 #7424 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:20 #7425 [Debug] > inl (^+^) (a : vec) (b : vec) =
23:19:20 #7426 [Debug] > vec (a.x + b.x) (a.y + b.y) (a.z + b.z)
23:19:20 #7427 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2028-2858-20b2bad9889c\main.spi
23:19:20 #7428 [Debug] >
23:19:20 #7429 [Debug] > ╭─[ 160.94ms - stdout ]────────────────────────────────────────────────────────╮
23:19:20 #7430 [Debug] > │ () │
23:19:20 #7431 [Debug] > │ │
23:19:20 #7432 [Debug] > │ │
23:19:20 #7433 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7434 [Debug] >
23:19:20 #7435 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:20 #7436 [Debug] > // // test
23:19:20 #7437 [Debug] >
23:19:20 #7438 [Debug] > vec 1 2 3 ^+^ vec 4 5 6
23:19:20 #7439 [Debug] > |> _equal (vec 5 7 9)
23:19:20 #7440 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2044-4479-468fa7e84335\main.spi
23:19:20 #7441 [Debug] >
23:19:20 #7442 [Debug] > ╭─[ 146.17ms - stdout ]────────────────────────────────────────────────────────╮
23:19:20 #7443 [Debug] > │ let rec method0 () : unit = │
23:19:20 #7444 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} / │
23:19:20 #7445 [Debug] > │ expected: %A{struct (5.0, 7.0, 9.0)}" │
23:19:20 #7446 [Debug] > │ () │
23:19:20 #7447 [Debug] > │ method0() │
23:19:20 #7448 [Debug] > │ │
23:19:20 #7449 [Debug] > │ │
23:19:20 #7450 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7451 [Debug] >
23:19:20 #7452 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:20 #7453 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:20 #7454 [Debug] > │ ### sum_vec │
23:19:20 #7455 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7456 [Debug] >
23:19:20 #7457 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:20 #7458 [Debug] > inl sum_vec vs =
23:19:20 #7459 [Debug] > vs |> listm.fold (^+^) (zero_vec ())
23:19:20 #7460 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2060-6028-63bf2ad45388\main.spi
23:19:20 #7461 [Debug] >
23:19:20 #7462 [Debug] > ╭─[ 190.05ms - stdout ]────────────────────────────────────────────────────────╮
23:19:20 #7463 [Debug] > │ () │
23:19:20 #7464 [Debug] > │ │
23:19:20 #7465 [Debug] > │ │
23:19:20 #7466 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7467 [Debug] >
23:19:20 #7468 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:20 #7469 [Debug] > // // test
23:19:20 #7470 [Debug] >
23:19:20 #7471 [Debug] > [[ vec 1 2 3; vec 4 5 6 ]]
23:19:20 #7472 [Debug] > |> sum_vec
23:19:20 #7473 [Debug] > |> _equal (vec 5 7 9)
23:19:20 #7474 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2079-7956-702ab604f420\main.spi
23:19:20 #7475 [Debug] >
23:19:20 #7476 [Debug] > ╭─[ 174.46ms - stdout ]────────────────────────────────────────────────────────╮
23:19:20 #7477 [Debug] > │ let rec method0 () : unit = │
23:19:20 #7478 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 7.0, 9.0)} / │
23:19:20 #7479 [Debug] > │ expected: %A{struct (5.0, 7.0, 9.0)}" │
23:19:20 #7480 [Debug] > │ () │
23:19:20 #7481 [Debug] > │ method0() │
23:19:20 #7482 [Debug] > │ │
23:19:20 #7483 [Debug] > │ │
23:19:20 #7484 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7485 [Debug] >
23:19:20 #7486 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:20 #7487 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:20 #7488 [Debug] > │ ### *^ │
23:19:20 #7489 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:20 #7490 [Debug] >
23:19:20 #7491 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:20 #7492 [Debug] > inl (*^) c { x y z } =
23:19:20 #7493 [Debug] > vec (c * x) (c * y) (c * z)
23:19:21 #7494 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2097-9773-96750ad34f53\main.spi
23:19:21 #7495 [Debug] >
23:19:21 #7496 [Debug] > ╭─[ 182.34ms - stdout ]────────────────────────────────────────────────────────╮
23:19:21 #7497 [Debug] > │ () │
23:19:21 #7498 [Debug] > │ │
23:19:21 #7499 [Debug] > │ │
23:19:21 #7500 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:21 #7501 [Debug] >
23:19:21 #7502 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:21 #7503 [Debug] > // // test
23:19:21 #7504 [Debug] >
23:19:21 #7505 [Debug] > 5 *^ vec 1 2 3
23:19:21 #7506 [Debug] > |> _equal (vec 5 10 15)
23:19:21 #7507 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2116-1618-124f65c53c3b\main.spi
23:19:21 #7508 [Debug] >
23:19:21 #7509 [Debug] > ╭─[ 394.39ms - stdout ]────────────────────────────────────────────────────────╮
23:19:21 #7510 [Debug] > │ let rec method0 () : unit = │
23:19:21 #7511 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} / │
23:19:21 #7512 [Debug] > │ expected: %A{struct (5.0, 10.0, 15.0)}" │
23:19:21 #7513 [Debug] > │ () │
23:19:21 #7514 [Debug] > │ method0() │
23:19:21 #7515 [Debug] > │ │
23:19:21 #7516 [Debug] > │ │
23:19:21 #7517 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:21 #7518 [Debug] >
23:19:21 #7519 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:21 #7520 [Debug] > // // test
23:19:21 #7521 [Debug] >
23:19:21 #7522 [Debug] > 3 *^ i_hat () ^+^ 4 *^ k_hat ()
23:19:21 #7523 [Debug] > |> _equal (vec 3 0 4)
23:19:21 #7524 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2164-6428-6a6077c7d8db\main.spi
23:19:22 #7525 [Debug] >
23:19:22 #7526 [Debug] > ╭─[ 532.36ms - stdout ]────────────────────────────────────────────────────────╮
23:19:22 #7527 [Debug] > │ let rec method0 () : unit = │
23:19:22 #7528 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (3.0, 0.0, 4.0)} / │
23:19:22 #7529 [Debug] > │ expected: %A{struct (3.0, 0.0, 4.0)}" │
23:19:22 #7530 [Debug] > │ () │
23:19:22 #7531 [Debug] > │ method0() │
23:19:22 #7532 [Debug] > │ │
23:19:22 #7533 [Debug] > │ │
23:19:22 #7534 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:22 #7535 [Debug] >
23:19:22 #7536 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:22 #7537 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:22 #7538 [Debug] > │ ### ^* │
23:19:22 #7539 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:22 #7540 [Debug] >
23:19:22 #7541 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:22 #7542 [Debug] > inl (^*) v c =
23:19:22 #7543 [Debug] > (*^) c v
23:19:22 #7544 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2217-1714-1df950cf592d\main.spi
23:19:22 #7545 [Debug] >
23:19:22 #7546 [Debug] > ╭─[ 331.31ms - stdout ]────────────────────────────────────────────────────────╮
23:19:22 #7547 [Debug] > │ () │
23:19:22 #7548 [Debug] > │ │
23:19:22 #7549 [Debug] > │ │
23:19:22 #7550 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:22 #7551 [Debug] >
23:19:22 #7552 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:22 #7553 [Debug] > // // test
23:19:22 #7554 [Debug] >
23:19:22 #7555 [Debug] > vec 1 2 3 ^* 5
23:19:22 #7556 [Debug] > |> _equal (vec 5 10 15)
23:19:22 #7557 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2249-4993-48930de118ec\main.spi
23:19:22 #7558 [Debug] >
23:19:22 #7559 [Debug] > ╭─[ 362.90ms - stdout ]────────────────────────────────────────────────────────╮
23:19:22 #7560 [Debug] > │ let rec method0 () : unit = │
23:19:22 #7561 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (5.0, 10.0, 15.0)} / │
23:19:22 #7562 [Debug] > │ expected: %A{struct (5.0, 10.0, 15.0)}" │
23:19:22 #7563 [Debug] > │ () │
23:19:22 #7564 [Debug] > │ method0() │
23:19:22 #7565 [Debug] > │ │
23:19:22 #7566 [Debug] > │ │
23:19:22 #7567 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:22 #7568 [Debug] >
23:19:22 #7569 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:22 #7570 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:22 #7571 [Debug] > │ ### ^/ │
23:19:22 #7572 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:22 #7573 [Debug] >
23:19:22 #7574 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:22 #7575 [Debug] > inl (^/) { x y z } c =
23:19:22 #7576 [Debug] > vec (x / c) (y / c) (z / c)
23:19:23 #7577 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2287-8784-8847f2ce6a88\main.spi
23:19:23 #7578 [Debug] >
23:19:23 #7579 [Debug] > ╭─[ 287.47ms - stdout ]────────────────────────────────────────────────────────╮
23:19:23 #7580 [Debug] > │ () │
23:19:23 #7581 [Debug] > │ │
23:19:23 #7582 [Debug] > │ │
23:19:23 #7583 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:23 #7584 [Debug] >
23:19:23 #7585 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:23 #7586 [Debug] > // // test
23:19:23 #7587 [Debug] >
23:19:23 #7588 [Debug] > vec 1 2 3 ^/ 5
23:19:23 #7589 [Debug] > |> _equal (vec 0.2 0.4 0.6)
23:19:23 #7590 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2317-1717-176b411c78b3\main.spi
23:19:23 #7591 [Debug] >
23:19:23 #7592 [Debug] > ╭─[ 280.38ms - stdout ]────────────────────────────────────────────────────────╮
23:19:23 #7593 [Debug] > │ let rec method0 () : unit = │
23:19:23 #7594 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (0.2, 0.4, 0.6)} / │
23:19:23 #7595 [Debug] > │ expected: %A{struct (0.2, 0.4, 0.6)}" │
23:19:23 #7596 [Debug] > │ () │
23:19:23 #7597 [Debug] > │ method0() │
23:19:23 #7598 [Debug] > │ │
23:19:23 #7599 [Debug] > │ │
23:19:23 #7600 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:23 #7601 [Debug] >
23:19:23 #7602 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:23 #7603 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:23 #7604 [Debug] > │ ### negate_vec │
23:19:23 #7605 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:23 #7606 [Debug] >
23:19:23 #7607 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:23 #7608 [Debug] > inl negate_vec v =
23:19:23 #7609 [Debug] > v ^* -1
23:19:23 #7610 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2345-4599-433dd710fd66\main.spi
23:19:23 #7611 [Debug] >
23:19:23 #7612 [Debug] > ╭─[ 199.68ms - stdout ]────────────────────────────────────────────────────────╮
23:19:23 #7613 [Debug] > │ () │
23:19:23 #7614 [Debug] > │ │
23:19:23 #7615 [Debug] > │ │
23:19:23 #7616 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:23 #7617 [Debug] >
23:19:23 #7618 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:23 #7619 [Debug] > // // test
23:19:23 #7620 [Debug] >
23:19:23 #7621 [Debug] > vec 1 2 3
23:19:23 #7622 [Debug] > |> negate_vec
23:19:23 #7623 [Debug] > |> _equal (vec -1 -2 -3)
23:19:23 #7624 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2366-6628-6835419156cd\main.spi
23:19:23 #7625 [Debug] >
23:19:23 #7626 [Debug] > ╭─[ 336.05ms - stdout ]────────────────────────────────────────────────────────╮
23:19:23 #7627 [Debug] > │ let rec method0 () : unit = │
23:19:23 #7628 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (-1.0, -2.0, -3.0)} / │
23:19:23 #7629 [Debug] > │ expected: %A{struct (-1.0, -2.0, -3.0)}" │
23:19:23 #7630 [Debug] > │ () │
23:19:23 #7631 [Debug] > │ method0() │
23:19:24 #7632 [Debug] > │ │
23:19:24 #7633 [Debug] > │ │
23:19:24 #7634 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:24 #7635 [Debug] >
23:19:24 #7636 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:24 #7637 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:24 #7638 [Debug] > │ ### ^-^ │
23:19:24 #7639 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:24 #7640 [Debug] >
23:19:24 #7641 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:24 #7642 [Debug] > inl (^-^) a b =
23:19:24 #7643 [Debug] > a ^+^ (negate_vec b)
23:19:24 #7644 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2400-0093-00bc1b77a9eb\main.spi
23:19:24 #7645 [Debug] >
23:19:24 #7646 [Debug] > ╭─[ 195.75ms - stdout ]────────────────────────────────────────────────────────╮
23:19:24 #7647 [Debug] > │ () │
23:19:24 #7648 [Debug] > │ │
23:19:24 #7649 [Debug] > │ │
23:19:24 #7650 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:24 #7651 [Debug] >
23:19:24 #7652 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:24 #7653 [Debug] > // // test
23:19:24 #7654 [Debug] >
23:19:24 #7655 [Debug] > vec 1 2 3 ^-^ vec 4 5 6
23:19:24 #7656 [Debug] > |> _equal (vec -3 -3 -3)
23:19:24 #7657 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2420-2064-2e08a349ee84\main.spi
23:19:24 #7658 [Debug] >
23:19:24 #7659 [Debug] > ╭─[ 350.60ms - stdout ]────────────────────────────────────────────────────────╮
23:19:24 #7660 [Debug] > │ let rec method0 () : unit = │
23:19:24 #7661 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (-3.0, -3.0, -3.0)} / │
23:19:24 #7662 [Debug] > │ expected: %A{struct (-3.0, -3.0, -3.0)}" │
23:19:24 #7663 [Debug] > │ () │
23:19:24 #7664 [Debug] > │ method0() │
23:19:24 #7665 [Debug] > │ │
23:19:24 #7666 [Debug] > │ │
23:19:24 #7667 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:24 #7668 [Debug] >
23:19:24 #7669 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:24 #7670 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:24 #7671 [Debug] > │ ### <.> │
23:19:24 #7672 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:24 #7673 [Debug] >
23:19:24 #7674 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:24 #7675 [Debug] > inl (<.>) { x = ax y = ay z = az } { x = bx y = by z = bz } =
23:19:24 #7676 [Debug] > ax * bx + ay * by + az * bz
23:19:24 #7677 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2456-5699-5f29d30a6f50\main.spi
23:19:24 #7678 [Debug] >
23:19:24 #7679 [Debug] > ╭─[ 285.66ms - stdout ]────────────────────────────────────────────────────────╮
23:19:24 #7680 [Debug] > │ () │
23:19:24 #7681 [Debug] > │ │
23:19:24 #7682 [Debug] > │ │
23:19:24 #7683 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:24 #7684 [Debug] >
23:19:24 #7685 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:24 #7686 [Debug] > // // test
23:19:24 #7687 [Debug] >
23:19:24 #7688 [Debug] > vec 1 2 3 <.> vec 4 5 6
23:19:24 #7689 [Debug] > |> _equal 32
23:19:24 #7690 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2485-8583-84b47714c983\main.spi
23:19:25 #7691 [Debug] >
23:19:25 #7692 [Debug] > ╭─[ 215.75ms - stdout ]────────────────────────────────────────────────────────╮
23:19:25 #7693 [Debug] > │ let rec method0 () : unit = │
23:19:25 #7694 [Debug] > │ let v0 : string = $"_equal / actual: %A{32.0} / expected: %A{32.0}" │
23:19:25 #7695 [Debug] > │ () │
23:19:25 #7696 [Debug] > │ method0() │
23:19:25 #7697 [Debug] > │ │
23:19:25 #7698 [Debug] > │ │
23:19:25 #7699 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:25 #7700 [Debug] >
23:19:25 #7701 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:25 #7702 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:25 #7703 [Debug] > │ ### \>\< │
23:19:25 #7704 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:25 #7705 [Debug] >
23:19:25 #7706 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:25 #7707 [Debug] > inl (><) (a : vec) (b : vec) =
23:19:25 #7708 [Debug] > vec
23:19:25 #7709 [Debug] > (a.y * b.z - a.z * b.y)
23:19:25 #7710 [Debug] > (a.z * b.x - a.x * b.z)
23:19:25 #7711 [Debug] > (a.x * b.y - a.y * b.x)
23:19:25 #7712 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2508-0811-0f681f6369b2\main.spi
23:19:25 #7713 [Debug] >
23:19:25 #7714 [Debug] > ╭─[ 435.23ms - stdout ]────────────────────────────────────────────────────────╮
23:19:25 #7715 [Debug] > │ () │
23:19:25 #7716 [Debug] > │ │
23:19:25 #7717 [Debug] > │ │
23:19:25 #7718 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:25 #7719 [Debug] >
23:19:25 #7720 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:25 #7721 [Debug] > // // test
23:19:25 #7722 [Debug] >
23:19:25 #7723 [Debug] > vec 1 2 3 >< vec 4 5 6
23:19:25 #7724 [Debug] > |> _equal (vec -3 6 -3)
23:19:25 #7725 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2551-5185-5f1e6e58e1f9\main.spi
23:19:25 #7726 [Debug] >
23:19:25 #7727 [Debug] > ╭─[ 221.97ms - stdout ]────────────────────────────────────────────────────────╮
23:19:25 #7728 [Debug] > │ let rec method0 () : unit = │
23:19:25 #7729 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (-3.0, 6.0, -3.0)} / │
23:19:25 #7730 [Debug] > │ expected: %A{struct (-3.0, 6.0, -3.0)}" │
23:19:25 #7731 [Debug] > │ () │
23:19:25 #7732 [Debug] > │ method0() │
23:19:25 #7733 [Debug] > │ │
23:19:25 #7734 [Debug] > │ │
23:19:25 #7735 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:25 #7736 [Debug] >
23:19:25 #7737 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:25 #7738 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:25 #7739 [Debug] > │ ### magnitude │
23:19:25 #7740 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:25 #7741 [Debug] >
23:19:25 #7742 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:25 #7743 [Debug] > inl magnitude v =
23:19:25 #7744 [Debug] > v <.> v |> sqrt
23:19:25 #7745 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2575-7508-78b7cad07b2f\main.spi
23:19:25 #7746 [Debug] >
23:19:25 #7747 [Debug] > ╭─[ 224.33ms - stdout ]────────────────────────────────────────────────────────╮
23:19:25 #7748 [Debug] > │ () │
23:19:25 #7749 [Debug] > │ │
23:19:25 #7750 [Debug] > │ │
23:19:25 #7751 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:25 #7752 [Debug] >
23:19:25 #7753 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:25 #7754 [Debug] > // // test
23:19:25 #7755 [Debug] >
23:19:25 #7756 [Debug] > vec 1 2 3
23:19:25 #7757 [Debug] > |> magnitude
23:19:25 #7758 [Debug] > |> _almost_equal 3.7416573867739413
23:19:26 #7759 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2597-9787-964bcd55b350\main.spi
23:19:26 #7760 [Debug] >
23:19:26 #7761 [Debug] > ╭─[ 200.67ms - stdout ]────────────────────────────────────────────────────────╮
23:19:26 #7762 [Debug] > │ let rec method0 () : unit = │
23:19:26 #7763 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{3.7416573867739413} / │
23:19:26 #7764 [Debug] > │ expected: %A{3.7416573867739413}" │
23:19:26 #7765 [Debug] > │ () │
23:19:26 #7766 [Debug] > │ method0() │
23:19:26 #7767 [Debug] > │ │
23:19:26 #7768 [Debug] > │ │
23:19:26 #7769 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:26 #7770 [Debug] >
23:19:26 #7771 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:26 #7772 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:26 #7773 [Debug] > │ ### v1 │
23:19:26 #7774 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:26 #7775 [Debug] >
23:19:26 #7776 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:26 #7777 [Debug] > inl v1 t =
23:19:26 #7778 [Debug] > 2 *^ (t ** 2 *^ i_hat () ^+^ 3 *^ (t ** 3 *^ j_hat () ^+^ t ** 4 *^ k_hat
23:19:26 #7779 [Debug] > ()))
23:19:26 #7780 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2618-1858-1ca211db226a\main.spi
23:19:26 #7781 [Debug] >
23:19:26 #7782 [Debug] > ╭─[ 179.06ms - stdout ]────────────────────────────────────────────────────────╮
23:19:26 #7783 [Debug] > │ () │
23:19:26 #7784 [Debug] > │ │
23:19:26 #7785 [Debug] > │ │
23:19:26 #7786 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:26 #7787 [Debug] >
23:19:26 #7788 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:26 #7789 [Debug] > // // test
23:19:26 #7790 [Debug] >
23:19:26 #7791 [Debug] > v1 1
23:19:26 #7792 [Debug] > |> _equal (vec 2 6 6)
23:19:26 #7793 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2637-3700-3c0967af0019\main.spi
23:19:26 #7794 [Debug] >
23:19:26 #7795 [Debug] > ╭─[ 218.21ms - stdout ]────────────────────────────────────────────────────────╮
23:19:26 #7796 [Debug] > │ let rec method0 () : unit = │
23:19:26 #7797 [Debug] > │ let v0 : string = $"_equal / actual: %A{struct (2.0, 6.0, 6.0)} / │
23:19:26 #7798 [Debug] > │ expected: %A{struct (2.0, 6.0, 6.0)}" │
23:19:26 #7799 [Debug] > │ () │
23:19:26 #7800 [Debug] > │ method0() │
23:19:26 #7801 [Debug] > │ │
23:19:26 #7802 [Debug] > │ │
23:19:26 #7803 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:26 #7804 [Debug] >
23:19:26 #7805 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:26 #7806 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:26 #7807 [Debug] > │ ### vec_derivative │
23:19:26 #7808 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:26 #7809 [Debug] >
23:19:26 #7810 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:26 #7811 [Debug] > type vec_derivative = (f64 -> vec) -> f64 -> vec
23:19:26 #7812 [Debug] >
23:19:26 #7813 [Debug] > inl vec_derivative dt : vec_derivative =
23:19:26 #7814 [Debug] > fun v t =>
23:19:26 #7815 [Debug] > (v (t + dt / 2) ^-^ v (t - dt / 2)) ^/ dt
23:19:26 #7816 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2660-6007-6d425668e45c\main.spi
23:19:26 #7817 [Debug] >
23:19:26 #7818 [Debug] > ╭─[ 223.62ms - stdout ]────────────────────────────────────────────────────────╮
23:19:26 #7819 [Debug] > │ () │
23:19:26 #7820 [Debug] > │ │
23:19:26 #7821 [Debug] > │ │
23:19:26 #7822 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:26 #7823 [Debug] >
23:19:26 #7824 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:26 #7825 [Debug] > // // test
23:19:26 #7826 [Debug] >
23:19:26 #7827 [Debug] > vec_derivative 0.01 v1 3 .x
23:19:26 #7828 [Debug] > |> _almost_equal (derivative 0.01 (v1 >> fun v => v.x) 3)
23:19:26 #7829 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2682-8258-830a1eb5c7a9\main.spi
23:19:27 #7830 [Debug] >
23:19:27 #7831 [Debug] > ╭─[ 207.91ms - stdout ]────────────────────────────────────────────────────────╮
23:19:27 #7832 [Debug] > │ let rec method0 () : unit = │
23:19:27 #7833 [Debug] > │ let v0 : string = $"_almost_equal / actual: %A{11.999999999999744} / │
23:19:27 #7834 [Debug] > │ expected: %A{11.999999999999744}" │
23:19:27 #7835 [Debug] > │ () │
23:19:27 #7836 [Debug] > │ method0() │
23:19:27 #7837 [Debug] > │ │
23:19:27 #7838 [Debug] > │ │
23:19:27 #7839 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:27 #7840 [Debug] >
23:19:27 #7841 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:27 #7842 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:27 #7843 [Debug] > │ ## states_ps │
23:19:27 #7844 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:27 #7845 [Debug] >
23:19:27 #7846 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:27 #7847 [Debug] > nominal particle_state =
23:19:27 #7848 [Debug] > {
23:19:27 #7849 [Debug] > mass : f64
23:19:27 #7850 [Debug] > charge : f64
23:19:27 #7851 [Debug] > time : f64
23:19:27 #7852 [Debug] > pos_vec : vec
23:19:27 #7853 [Debug] > velocity : vec
23:19:27 #7854 [Debug] > }
23:19:27 #7855 [Debug] >
23:19:27 #7856 [Debug] > inl default_particle_state () : particle_state =
23:19:27 #7857 [Debug] > particle_state {
23:19:27 #7858 [Debug] > mass = 1
23:19:27 #7859 [Debug] > charge = 0
23:19:27 #7860 [Debug] > time = 0
23:19:27 #7861 [Debug] > pos_vec = zero_vec ()
23:19:27 #7862 [Debug] > velocity = zero_vec ()
23:19:27 #7863 [Debug] > }
23:19:27 #7864 [Debug] >
23:19:27 #7865 [Debug] > type one_body_force = particle_state -> vec
23:19:27 #7866 [Debug] >
23:19:27 #7867 [Debug] > nominal d_particle_state =
23:19:27 #7868 [Debug] > {
23:19:27 #7869 [Debug] > dmdt : f64
23:19:27 #7870 [Debug] > dqdt : f64
23:19:27 #7871 [Debug] > dtdt : f64
23:19:27 #7872 [Debug] > drdt : vec
23:19:27 #7873 [Debug] > dvdt : vec
23:19:27 #7874 [Debug] > }
23:19:27 #7875 [Debug] >
23:19:27 #7876 [Debug] > inl newton_second_ps (fs : list one_body_force) (st : particle_state) :
23:19:27 #7877 [Debug] > d_particle_state =
23:19:27 #7878 [Debug] > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
23:19:27 #7879 [Debug] > d_particle_state {
23:19:27 #7880 [Debug] > dmdt = 0
23:19:27 #7881 [Debug] > dqdt = 0
23:19:27 #7882 [Debug] > dtdt = 1
23:19:27 #7883 [Debug] > drdt = st.velocity
23:19:27 #7884 [Debug] > dvdt = f_net ^/ st.mass
23:19:27 #7885 [Debug] > }
23:19:27 #7886 [Debug] >
23:19:27 #7887 [Debug] > inl earth_surface_gravity (st : particle_state) =
23:19:27 #7888 [Debug] > inl g = 9.80665
23:19:27 #7889 [Debug] > -st.mass * g *^ k_hat ()
23:19:27 #7890 [Debug] >
23:19:27 #7891 [Debug] > inl air_resistance drag rho area (st : particle_state) =
23:19:27 #7892 [Debug] > -0.5 * drag * rho * area * magnitude st.velocity *^ st.velocity
23:19:27 #7893 [Debug] >
23:19:27 #7894 [Debug] > inl euler_cromer_ps dt (deriv : particle_state -> d_particle_state)
23:19:27 #7895 [Debug] > (particle_state st) =
23:19:27 #7896 [Debug] > inl dst : d_particle_state = deriv (particle_state st)
23:19:27 #7897 [Debug] > inl v' = st.velocity ^+^ dst.dvdt ^* dt
23:19:27 #7898 [Debug] > particle_state { st with
23:19:27 #7899 [Debug] > time = st.time + dt
23:19:27 #7900 [Debug] > pos_vec = st.pos_vec ^+^ v' ^* dt
23:19:27 #7901 [Debug] > velocity = st.velocity ^+^ dst.dvdt ^* dt
23:19:27 #7902 [Debug] > }
23:19:27 #7903 [Debug] >
23:19:27 #7904 [Debug] > instance (+++) d_particle_state = fun (dps : d_particle_state) (dps' :
23:19:27 #7905 [Debug] > d_particle_state) =>
23:19:27 #7906 [Debug] > d_particle_state {
23:19:27 #7907 [Debug] > dmdt = dps.dmdt + dps'.dmdt
23:19:27 #7908 [Debug] > dqdt = dps.dqdt + dps'.dqdt
23:19:27 #7909 [Debug] > dtdt = dps.dtdt + dps'.dtdt
23:19:27 #7910 [Debug] > drdt = dps.drdt ^+^ dps'.drdt
23:19:27 #7911 [Debug] > dvdt = dps.dvdt ^+^ dps'.dvdt
23:19:27 #7912 [Debug] > }
23:19:27 #7913 [Debug] >
23:19:27 #7914 [Debug] > instance scale d_particle_state = fun w (dps : d_particle_state) =>
23:19:27 #7915 [Debug] > d_particle_state {
23:19:27 #7916 [Debug] > dmdt = w * dps.dmdt
23:19:27 #7917 [Debug] > dqdt = w * dps.dqdt
23:19:27 #7918 [Debug] > dtdt = w * dps.dtdt
23:19:27 #7919 [Debug] > drdt = w *^ dps.drdt
23:19:27 #7920 [Debug] > dvdt = w *^ dps.dvdt
23:19:27 #7921 [Debug] > }
23:19:27 #7922 [Debug] >
23:19:27 #7923 [Debug] > instance shift particle_state = fun dt dps (particle_state st) =>
23:19:27 #7924 [Debug] > inl (d_particle_state dps) =
23:19:27 #7925 [Debug] > real
23:19:27 #7926 [Debug] > match dps with
23:19:27 #7927 [Debug] > | d_particle_state _ => dps
23:19:27 #7928 [Debug] > particle_state { st with
23:19:27 #7929 [Debug] > time = st.time + dps.dtdt * dt
23:19:27 #7930 [Debug] > pos_vec = st.pos_vec ^+^ dps.drdt ^* dt
23:19:27 #7931 [Debug] > velocity = st.velocity ^+^ dps.dvdt ^* dt
23:19:27 #7932 [Debug] > }
23:19:27 #7933 [Debug] >
23:19:27 #7934 [Debug] > inl states_ps (method : numerical_method particle_state d_particle_state) : _ ->
23:19:27 #7935 [Debug] > _ -> i32 -> particle_state =
23:19:27 #7936 [Debug] > newton_second_ps >> method >> seq.iterate_
23:19:27 #7937 [Debug] >
23:19:27 #7938 [Debug] > inl z_ge0 sts =
23:19:27 #7939 [Debug] > sts
23:19:27 #7940 [Debug] > |> seq.take_while_ (fun (particle_state st) _ => st.pos_vec.z >= 0)
23:19:27 #7941 [Debug] >
23:19:27 #7942 [Debug] > inl trajectory sts =
23:19:27 #7943 [Debug] > sts |> listm.map (fun (particle_state st) => st.pos_vec.y, st.pos_vec.z)
23:19:27 #7944 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2704-0451-06b3446d9b3d\main.spi
23:19:27 #7945 [Debug] >
23:19:27 #7946 [Debug] > ╭─[ 243.00ms - stdout ]────────────────────────────────────────────────────────╮
23:19:27 #7947 [Debug] > │ () │
23:19:27 #7948 [Debug] > │ │
23:19:27 #7949 [Debug] > │ │
23:19:27 #7950 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:27 #7951 [Debug] >
23:19:27 #7952 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:27 #7953 [Debug] > // // test
23:19:27 #7954 [Debug] >
23:19:27 #7955 [Debug] > inl update_ps (method : numerical_method particle_state d_particle_state) =
23:19:27 #7956 [Debug] > newton_second_ps >> method
23:19:27 #7957 [Debug] >
23:19:27 #7958 [Debug] > inl position_ps (method : numerical_method particle_state d_particle_state) fs
23:19:27 #7959 [Debug] > st t =
23:19:27 #7960 [Debug] > inl states : i32 -> particle_state = states_ps method fs st
23:19:27 #7961 [Debug] > inl dt = (states 1).time - (states 0).time
23:19:27 #7962 [Debug] > inl num_steps = t / dt |> math.round |> abs
23:19:27 #7963 [Debug] > inl st1 = solver' method (newton_second_ps fs) st num_steps
23:19:27 #7964 [Debug] > st1.pos_vec
23:19:27 #7965 [Debug] >
23:19:27 #7966 [Debug] > inl sun_gravity (st : particle_state) : vec =
23:19:27 #7967 [Debug] > inl big_g = 0.0000000000667408
23:19:27 #7968 [Debug] > inl sun_mass = 1988480000000000000000000000000
23:19:27 #7969 [Debug] > -big_g * sun_mass * st.mass *^ st.pos_vec ^/ magnitude st.pos_vec ** 3
23:19:27 #7970 [Debug] >
23:19:27 #7971 [Debug] > inl wind_force v_wind drag rho area (st : particle_state) =
23:19:27 #7972 [Debug] > inl v_rel = st.velocity ^-^ v_wind
23:19:27 #7973 [Debug] > -0.5 * drag * rho * area * magnitude v_rel *^ v_rel
23:19:27 #7974 [Debug] >
23:19:27 #7975 [Debug] > inl rock_state () =
23:19:27 #7976 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:27 #7977 [Debug] > particle_state { default_particle_state' with
23:19:27 #7978 [Debug] > mass = 2
23:19:27 #7979 [Debug] > velocity = vec 3 0 4
23:19:27 #7980 [Debug] > }
23:19:27 #7981 [Debug] >
23:19:27 #7982 [Debug] > inl halley_update dt =
23:19:27 #7983 [Debug] > update_ps (euler_cromer_ps dt) [[ sun_gravity ]]
23:19:27 #7984 [Debug] >
23:19:27 #7985 [Debug] > inl halley_initial () =
23:19:27 #7986 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:27 #7987 [Debug] > particle_state { default_particle_state' with
23:19:27 #7988 [Debug] > mass = 220000000000000
23:19:27 #7989 [Debug] > pos_vec = 87660000000 *^ i_hat ()
23:19:27 #7990 [Debug] > velocity = 54569 *^ j_hat ()
23:19:27 #7991 [Debug] > }
23:19:27 #7992 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2728-2893-2440601b97fe\main.spi
23:19:27 #7993 [Debug] >
23:19:27 #7994 [Debug] > ╭─[ 230.51ms - stdout ]────────────────────────────────────────────────────────╮
23:19:27 #7995 [Debug] > │ () │
23:19:27 #7996 [Debug] > │ │
23:19:27 #7997 [Debug] > │ │
23:19:27 #7998 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:27 #7999 [Debug] >
23:19:27 #8000 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:27 #8001 [Debug] > // // test
23:19:27 #8002 [Debug] >
23:19:27 #8003 [Debug] > inl baseball_forces () =
23:19:27 #8004 [Debug] > inl area = pi * (0.074 / 2) ** 2
23:19:27 #8005 [Debug] > [[
23:19:27 #8006 [Debug] > earth_surface_gravity
23:19:27 #8007 [Debug] > air_resistance 0.3 1.225 area
23:19:27 #8008 [Debug] > ]]
23:19:27 #8009 [Debug] >
23:19:27 #8010 [Debug] > inl baseball_trajectory dt v0 theta_deg =
23:19:27 #8011 [Debug] > inl theta_rad = theta_deg * pi / 180
23:19:27 #8012 [Debug] > inl vy0 = v0 * cos theta_rad
23:19:27 #8013 [Debug] > inl vz0 = v0 * sin theta_rad
23:19:27 #8014 [Debug] > inl initial_state =
23:19:27 #8015 [Debug] > particle_state {
23:19:27 #8016 [Debug] > mass = 0.145
23:19:27 #8017 [Debug] > charge = 0
23:19:27 #8018 [Debug] > time = 0
23:19:27 #8019 [Debug] > pos_vec = zero_vec ()
23:19:27 #8020 [Debug] > velocity = vec 0 vy0 vz0
23:19:27 #8021 [Debug] > }
23:19:27 #8022 [Debug] > states_ps (euler_cromer_ps dt) (baseball_forces ()) initial_state
23:19:27 #8023 [Debug] > >> Some
23:19:27 #8024 [Debug] > |> z_ge0
23:19:27 #8025 [Debug] > |> trajectory
23:19:27 #8026 [Debug] >
23:19:27 #8027 [Debug] > inl baseball_range dt v0 theta_deg =
23:19:27 #8028 [Debug] > baseball_trajectory dt v0 theta_deg
23:19:27 #8029 [Debug] > |> listm.fold (fun _ (y, _) => y) 0
23:19:27 #8030 [Debug] >
23:19:27 #8031 [Debug] > inl x : a _ f64 = am'.init_series 10 80 1
23:19:27 #8032 [Debug] > inl y = x |> am.map (baseball_range 0.01 45)
23:19:27 #8033 [Debug] > "range for a baseball hit at 45 m/s",
23:19:27 #8034 [Debug] > "angle above horizontal (degrees)",
23:19:27 #8035 [Debug] > "",
23:19:27 #8036 [Debug] > ;[[ "horizontal range (m)", x, y ]]
23:19:27 #8037 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2752-5236-500db0d2fce2\main.spi
23:19:29 #8038 [Debug] >
23:19:29 #8039 [Debug] > ╭─[ 1.55s - return value ]─────────────────────────────────────────────────────╮
23:19:29 #8040 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:29 #8041 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:29 #8042 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:29 #8043 [Debug] > │ stroke="none"/> │
23:19:29 #8044 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:29 #8045 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8046 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8047 [Debug] > │ range for a baseball hit at 45 m/s │
23:19:29 #8048 [Debug] > │ </text> │
23:19:29 #8049 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="424" x2="55" │
23:19:29 #8050 [Debug] > │ y2="75"/> │
23:19:29 #8051 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
23:19:29 #8052 [Debug] > │ y2="75"/> │
23:19:29 #8053 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:29 #8054 [Debug] > │ y2="75"/> │
23:19:29 #8055 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
23:19:29 #8056 [Debug] > │ y2="75"/> │
23:19:29 #8057 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="84" y1="424" x2="84" │
23:19:29 #8058 [Debug] > │ y2="75"/> │
23:19:29 #8059 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="91" y1="424" x2="91" │
23:19:29 #8060 [Debug] > │ y2="75"/> │
23:19:29 #8061 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="98" y1="424" x2="98" │
23:19:29 #8062 [Debug] > │ y2="75"/> │
23:19:29 #8063 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424" │
23:19:29 #8064 [Debug] > │ x2="105" y2="75"/> │
23:19:29 #8065 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="112" y1="424" │
23:19:29 #8066 [Debug] > │ x2="112" y2="75"/> │
23:19:29 #8067 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:29 #8068 [Debug] > │ x2="119" y2="75"/> │
23:19:29 #8069 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="127" y1="424" │
23:19:29 #8070 [Debug] > │ x2="127" y2="75"/> │
23:19:29 #8071 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="134" y1="424" │
23:19:29 #8072 [Debug] > │ x2="134" y2="75"/> │
23:19:29 #8073 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424" │
23:19:29 #8074 [Debug] > │ x2="141" y2="75"/> │
23:19:29 #8075 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="148" y1="424" │
23:19:29 #8076 [Debug] > │ x2="148" y2="75"/> │
23:19:29 #8077 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="155" y1="424" │
23:19:29 #8078 [Debug] > │ x2="155" y2="75"/> │
23:19:29 #8079 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="162" y1="424" │
23:19:29 #8080 [Debug] > │ x2="162" y2="75"/> │
23:19:29 #8081 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:29 #8082 [Debug] > │ x2="169" y2="75"/> │
23:19:29 #8083 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="176" y1="424" │
23:19:29 #8084 [Debug] > │ x2="176" y2="75"/> │
23:19:29 #8085 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="184" y1="424" │
23:19:29 #8086 [Debug] > │ x2="184" y2="75"/> │
23:19:29 #8087 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="191" y1="424" │
23:19:29 #8088 [Debug] > │ x2="191" y2="75"/> │
23:19:29 #8089 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="198" y1="424" │
23:19:29 #8090 [Debug] > │ x2="198" y2="75"/> │
23:19:29 #8091 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="205" y1="424" │
23:19:29 #8092 [Debug] > │ x2="205" y2="75"/> │
23:19:29 #8093 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="212" y1="424" │
23:19:29 #8094 [Debug] > │ x2="212" y2="75"/> │
23:19:29 #8095 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:29 #8096 [Debug] > │ x2="219" y2="75"/> │
23:19:29 #8097 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="226" y1="424" │
23:19:29 #8098 [Debug] > │ x2="226" y2="75"/> │
23:19:29 #8099 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="233" y1="424" │
23:19:29 #8100 [Debug] > │ x2="233" y2="75"/> │
23:19:29 #8101 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="241" y1="424" │
23:19:29 #8102 [Debug] > │ x2="241" y2="75"/> │
23:19:29 #8103 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="248" y1="424" │
23:19:29 #8104 [Debug] > │ x2="248" y2="75"/> │
23:19:29 #8105 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="255" y1="424" │
23:19:29 #8106 [Debug] > │ x2="255" y2="75"/> │
23:19:29 #8107 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="262" y1="424" │
23:19:29 #8108 [Debug] > │ x2="262" y2="75"/> │
23:19:29 #8109 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:29 #8110 [Debug] > │ x2="269" y2="75"/> │
23:19:29 #8111 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="276" y1="424" │
23:19:29 #8112 [Debug] > │ x2="276" y2="75"/> │
23:19:29 #8113 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="283" y1="424" │
23:19:29 #8114 [Debug] > │ x2="283" y2="75"/> │
23:19:29 #8115 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="290" y1="424" │
23:19:29 #8116 [Debug] > │ x2="290" y2="75"/> │
23:19:29 #8117 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="298" y1="424" │
23:19:29 #8118 [Debug] > │ x2="298" y2="75"/> │
23:19:29 #8119 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="305" y1="424" │
23:19:29 #8120 [Debug] > │ x2="305" y2="75"/> │
23:19:29 #8121 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="312" y1="424" │
23:19:29 #8122 [Debug] > │ x2="312" y2="75"/> │
23:19:29 #8123 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:29 #8124 [Debug] > │ x2="319" y2="75"/> │
23:19:29 #8125 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="326" y1="424" │
23:19:29 #8126 [Debug] > │ x2="326" y2="75"/> │
23:19:29 #8127 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="333" y1="424" │
23:19:29 #8128 [Debug] > │ x2="333" y2="75"/> │
23:19:29 #8129 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="340" y1="424" │
23:19:29 #8130 [Debug] > │ x2="340" y2="75"/> │
23:19:29 #8131 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="348" y1="424" │
23:19:29 #8132 [Debug] > │ x2="348" y2="75"/> │
23:19:29 #8133 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="355" y1="424" │
23:19:29 #8134 [Debug] > │ x2="355" y2="75"/> │
23:19:29 #8135 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="362" y1="424" │
23:19:29 #8136 [Debug] > │ x2="362" y2="75"/> │
23:19:29 #8137 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:29 #8138 [Debug] > │ x2="369" y2="75"/> │
23:19:29 #8139 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="376" y1="424" │
23:19:29 #8140 [Debug] > │ x2="376" y2="75"/> │
23:19:29 #8141 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="383" y1="424" │
23:19:29 #8142 [Debug] > │ x2="383" y2="75"/> │
23:19:29 #8143 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="390" y1="424" │
23:19:29 #8144 [Debug] > │ x2="390" y2="75"/> │
23:19:29 #8145 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="397" y1="424" │
23:19:29 #8146 [Debug] > │ x2="397" y2="75"/> │
23:19:29 #8147 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="405" y1="424" │
23:19:29 #8148 [Debug] > │ x2="405" y2="75"/> │
23:19:29 #8149 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="412" y1="424" │
23:19:29 #8150 [Debug] > │ x2="412" y2="75"/> │
23:19:29 #8151 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:29 #8152 [Debug] > │ x2="419" y2="75"/> │
23:19:29 #8153 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="426" y1="424" │
23:19:29 #8154 [Debug] > │ x2="426" y2="75"/> │
23:19:29 #8155 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="433" y1="424" │
23:19:29 #8156 [Debug] > │ x2="433" y2="75"/> │
23:19:29 #8157 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="440" y1="424" │
23:19:29 #8158 [Debug] > │ x2="440" y2="75"/> │
23:19:29 #8159 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="447" y1="424" │
23:19:29 #8160 [Debug] > │ x2="447" y2="75"/> │
23:19:29 #8161 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="454" y1="424" │
23:19:29 #8162 [Debug] > │ x2="454" y2="75"/> │
23:19:29 #8163 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="462" y1="424" │
23:19:29 #8164 [Debug] > │ x2="462" y2="75"/> │
23:19:29 #8165 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:29 #8166 [Debug] > │ x2="469" y2="75"/> │
23:19:29 #8167 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424" │
23:19:29 #8168 [Debug] > │ x2="476" y2="75"/> │
23:19:29 #8169 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="483" y1="424" │
23:19:29 #8170 [Debug] > │ x2="483" y2="75"/> │
23:19:29 #8171 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="490" y1="424" │
23:19:29 #8172 [Debug] > │ x2="490" y2="75"/> │
23:19:29 #8173 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="497" y1="424" │
23:19:29 #8174 [Debug] > │ x2="497" y2="75"/> │
23:19:29 #8175 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="504" y1="424" │
23:19:29 #8176 [Debug] > │ x2="504" y2="75"/> │
23:19:29 #8177 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="511" y1="424" │
23:19:29 #8178 [Debug] > │ x2="511" y2="75"/> │
23:19:29 #8179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:29 #8180 [Debug] > │ x2="519" y2="75"/> │
23:19:29 #8181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="526" y1="424" │
23:19:29 #8182 [Debug] > │ x2="526" y2="75"/> │
23:19:29 #8183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="533" y1="424" │
23:19:29 #8184 [Debug] > │ x2="533" y2="75"/> │
23:19:29 #8185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="540" y1="424" │
23:19:29 #8186 [Debug] > │ x2="540" y2="75"/> │
23:19:29 #8187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="547" y1="424" │
23:19:29 #8188 [Debug] > │ x2="547" y2="75"/> │
23:19:29 #8189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="554" y1="424" │
23:19:29 #8190 [Debug] > │ x2="554" y2="75"/> │
23:19:29 #8191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="561" y1="424" │
23:19:29 #8192 [Debug] > │ x2="561" y2="75"/> │
23:19:29 #8193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:29 #8194 [Debug] > │ x2="569" y2="75"/> │
23:19:29 #8195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="576" y1="424" │
23:19:29 #8196 [Debug] > │ x2="576" y2="75"/> │
23:19:29 #8197 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="583" y1="424" │
23:19:29 #8198 [Debug] > │ x2="583" y2="75"/> │
23:19:29 #8199 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="410" │
23:19:29 #8200 [Debug] > │ x2="584" y2="410"/> │
23:19:29 #8201 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="389" │
23:19:29 #8202 [Debug] > │ x2="584" y2="389"/> │
23:19:29 #8203 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368" │
23:19:29 #8204 [Debug] > │ x2="584" y2="368"/> │
23:19:29 #8205 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="347" │
23:19:29 #8206 [Debug] > │ x2="584" y2="347"/> │
23:19:29 #8207 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="326" │
23:19:29 #8208 [Debug] > │ x2="584" y2="326"/> │
23:19:29 #8209 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="305" │
23:19:29 #8210 [Debug] > │ x2="584" y2="305"/> │
23:19:29 #8211 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283" │
23:19:29 #8212 [Debug] > │ x2="584" y2="283"/> │
23:19:29 #8213 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="262" │
23:19:29 #8214 [Debug] > │ x2="584" y2="262"/> │
23:19:29 #8215 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="241" │
23:19:29 #8216 [Debug] > │ x2="584" y2="241"/> │
23:19:29 #8217 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="220" │
23:19:29 #8218 [Debug] > │ x2="584" y2="220"/> │
23:19:29 #8219 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="199" │
23:19:29 #8220 [Debug] > │ x2="584" y2="199"/> │
23:19:29 #8221 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="178" │
23:19:29 #8222 [Debug] > │ x2="584" y2="178"/> │
23:19:29 #8223 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="156" │
23:19:29 #8224 [Debug] > │ x2="584" y2="156"/> │
23:19:29 #8225 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135" │
23:19:29 #8226 [Debug] > │ x2="584" y2="135"/> │
23:19:29 #8227 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="114" │
23:19:29 #8228 [Debug] > │ x2="584" y2="114"/> │
23:19:29 #8229 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="93" x2="584" │
23:19:29 #8230 [Debug] > │ y2="93"/> │
23:19:29 #8231 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:29 #8232 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8233 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8234 [Debug] > │ angle above horizontal (degrees) │
23:19:29 #8235 [Debug] > │ </text> │
23:19:29 #8236 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:29 #8237 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8238 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:29 #8239 [Debug] > │ │
23:19:29 #8240 [Debug] > │ </text> │
23:19:29 #8241 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8242 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8243 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8244 [Debug] > │ angle above horizontal (degrees) │
23:19:29 #8245 [Debug] > │ </text> │
23:19:29 #8246 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:29 #8247 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8248 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:29 #8249 [Debug] > │ │
23:19:29 #8250 [Debug] > │ </text> │
23:19:29 #8251 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:29 #8252 [Debug] > │ y2="75"/> │
23:19:29 #8253 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="105" y1="424" │
23:19:29 #8254 [Debug] > │ x2="105" y2="75"/> │
23:19:29 #8255 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="141" y1="424" │
23:19:29 #8256 [Debug] > │ x2="141" y2="75"/> │
23:19:29 #8257 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="176" y1="424" │
23:19:29 #8258 [Debug] > │ x2="176" y2="75"/> │
23:19:29 #8259 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="212" y1="424" │
23:19:29 #8260 [Debug] > │ x2="212" y2="75"/> │
23:19:29 #8261 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="248" y1="424" │
23:19:29 #8262 [Debug] > │ x2="248" y2="75"/> │
23:19:29 #8263 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="283" y1="424" │
23:19:29 #8264 [Debug] > │ x2="283" y2="75"/> │
23:19:29 #8265 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:29 #8266 [Debug] > │ x2="319" y2="75"/> │
23:19:29 #8267 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="355" y1="424" │
23:19:29 #8268 [Debug] > │ x2="355" y2="75"/> │
23:19:29 #8269 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="390" y1="424" │
23:19:29 #8270 [Debug] > │ x2="390" y2="75"/> │
23:19:29 #8271 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="426" y1="424" │
23:19:29 #8272 [Debug] > │ x2="426" y2="75"/> │
23:19:29 #8273 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="462" y1="424" │
23:19:29 #8274 [Debug] > │ x2="462" y2="75"/> │
23:19:29 #8275 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="497" y1="424" │
23:19:29 #8276 [Debug] > │ x2="497" y2="75"/> │
23:19:29 #8277 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="533" y1="424" │
23:19:29 #8278 [Debug] > │ x2="533" y2="75"/> │
23:19:29 #8279 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:29 #8280 [Debug] > │ x2="569" y2="75"/> │
23:19:29 #8281 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="410" │
23:19:29 #8282 [Debug] > │ x2="584" y2="410"/> │
23:19:29 #8283 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="368" │
23:19:29 #8284 [Debug] > │ x2="584" y2="368"/> │
23:19:29 #8285 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="326" │
23:19:29 #8286 [Debug] > │ x2="584" y2="326"/> │
23:19:29 #8287 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="283" │
23:19:29 #8288 [Debug] > │ x2="584" y2="283"/> │
23:19:29 #8289 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="241" │
23:19:29 #8290 [Debug] > │ x2="584" y2="241"/> │
23:19:29 #8291 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="199" │
23:19:29 #8292 [Debug] > │ x2="584" y2="199"/> │
23:19:29 #8293 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="156" │
23:19:29 #8294 [Debug] > │ x2="584" y2="156"/> │
23:19:29 #8295 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="114" │
23:19:29 #8296 [Debug] > │ x2="584" y2="114"/> │
23:19:29 #8297 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8298 [Debug] > │ points="55,74 584,74 "/> │
23:19:29 #8299 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8300 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8301 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8302 [Debug] > │ 10.0 │
23:19:29 #8303 [Debug] > │ </text> │
23:19:29 #8304 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8305 [Debug] > │ points="69,69 69,74 "/> │
23:19:29 #8306 [Debug] > │ <text x="105" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8307 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8308 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8309 [Debug] > │ 15.0 │
23:19:29 #8310 [Debug] > │ </text> │
23:19:29 #8311 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8312 [Debug] > │ points="105,69 105,74 "/> │
23:19:29 #8313 [Debug] > │ <text x="141" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8314 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8315 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8316 [Debug] > │ 20.0 │
23:19:29 #8317 [Debug] > │ </text> │
23:19:29 #8318 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8319 [Debug] > │ points="141,69 141,74 "/> │
23:19:29 #8320 [Debug] > │ <text x="176" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8321 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8322 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8323 [Debug] > │ 25.0 │
23:19:29 #8324 [Debug] > │ </text> │
23:19:29 #8325 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8326 [Debug] > │ points="176,69 176,74 "/> │
23:19:29 #8327 [Debug] > │ <text x="212" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8328 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8329 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8330 [Debug] > │ 30.0 │
23:19:29 #8331 [Debug] > │ </text> │
23:19:29 #8332 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8333 [Debug] > │ points="212,69 212,74 "/> │
23:19:29 #8334 [Debug] > │ <text x="248" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8335 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8336 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8337 [Debug] > │ 35.0 │
23:19:29 #8338 [Debug] > │ </text> │
23:19:29 #8339 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8340 [Debug] > │ points="248,69 248,74 "/> │
23:19:29 #8341 [Debug] > │ <text x="283" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8342 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8343 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8344 [Debug] > │ 40.0 │
23:19:29 #8345 [Debug] > │ </text> │
23:19:29 #8346 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8347 [Debug] > │ points="283,69 283,74 "/> │
23:19:29 #8348 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8349 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8350 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8351 [Debug] > │ 45.0 │
23:19:29 #8352 [Debug] > │ </text> │
23:19:29 #8353 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8354 [Debug] > │ points="319,69 319,74 "/> │
23:19:29 #8355 [Debug] > │ <text x="355" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8356 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8357 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8358 [Debug] > │ 50.0 │
23:19:29 #8359 [Debug] > │ </text> │
23:19:29 #8360 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8361 [Debug] > │ points="355,69 355,74 "/> │
23:19:29 #8362 [Debug] > │ <text x="390" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8363 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8364 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8365 [Debug] > │ 55.0 │
23:19:29 #8366 [Debug] > │ </text> │
23:19:29 #8367 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8368 [Debug] > │ points="390,69 390,74 "/> │
23:19:29 #8369 [Debug] > │ <text x="426" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8370 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8371 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8372 [Debug] > │ 60.0 │
23:19:29 #8373 [Debug] > │ </text> │
23:19:29 #8374 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8375 [Debug] > │ points="426,69 426,74 "/> │
23:19:29 #8376 [Debug] > │ <text x="462" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8377 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8378 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8379 [Debug] > │ 65.0 │
23:19:29 #8380 [Debug] > │ </text> │
23:19:29 #8381 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8382 [Debug] > │ points="462,69 462,74 "/> │
23:19:29 #8383 [Debug] > │ <text x="497" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8384 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8385 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8386 [Debug] > │ 70.0 │
23:19:29 #8387 [Debug] > │ </text> │
23:19:29 #8388 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8389 [Debug] > │ points="497,69 497,74 "/> │
23:19:29 #8390 [Debug] > │ <text x="533" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8391 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8392 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8393 [Debug] > │ 75.0 │
23:19:29 #8394 [Debug] > │ </text> │
23:19:29 #8395 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8396 [Debug] > │ points="533,69 533,74 "/> │
23:19:29 #8397 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:29 #8398 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8399 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8400 [Debug] > │ 80.0 │
23:19:29 #8401 [Debug] > │ </text> │
23:19:29 #8402 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8403 [Debug] > │ points="569,69 569,74 "/> │
23:19:29 #8404 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8405 [Debug] > │ points="54,75 54,424 "/> │
23:19:29 #8406 [Debug] > │ <text x="45" y="410" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8407 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8408 [Debug] > │ 40.0 │
23:19:29 #8409 [Debug] > │ </text> │
23:19:29 #8410 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8411 [Debug] > │ points="49,410 54,410 "/> │
23:19:29 #8412 [Debug] > │ <text x="45" y="368" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8413 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8414 [Debug] > │ 50.0 │
23:19:29 #8415 [Debug] > │ </text> │
23:19:29 #8416 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8417 [Debug] > │ points="49,368 54,368 "/> │
23:19:29 #8418 [Debug] > │ <text x="45" y="326" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8419 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8420 [Debug] > │ 60.0 │
23:19:29 #8421 [Debug] > │ </text> │
23:19:29 #8422 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8423 [Debug] > │ points="49,326 54,326 "/> │
23:19:29 #8424 [Debug] > │ <text x="45" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8425 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8426 [Debug] > │ 70.0 │
23:19:29 #8427 [Debug] > │ </text> │
23:19:29 #8428 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8429 [Debug] > │ points="49,283 54,283 "/> │
23:19:29 #8430 [Debug] > │ <text x="45" y="241" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8431 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8432 [Debug] > │ 80.0 │
23:19:29 #8433 [Debug] > │ </text> │
23:19:29 #8434 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8435 [Debug] > │ points="49,241 54,241 "/> │
23:19:29 #8436 [Debug] > │ <text x="45" y="199" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8437 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8438 [Debug] > │ 90.0 │
23:19:29 #8439 [Debug] > │ </text> │
23:19:29 #8440 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8441 [Debug] > │ points="49,199 54,199 "/> │
23:19:29 #8442 [Debug] > │ <text x="45" y="156" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8443 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8444 [Debug] > │ 100.0 │
23:19:29 #8445 [Debug] > │ </text> │
23:19:29 #8446 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8447 [Debug] > │ points="49,156 54,156 "/> │
23:19:29 #8448 [Debug] > │ <text x="45" y="114" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8449 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8450 [Debug] > │ 110.0 │
23:19:29 #8451 [Debug] > │ </text> │
23:19:29 #8452 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8453 [Debug] > │ points="49,114 54,114 "/> │
23:19:29 #8454 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8455 [Debug] > │ points="55,425 584,425 "/> │
23:19:29 #8456 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8457 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8458 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8459 [Debug] > │ 10.0 │
23:19:29 #8460 [Debug] > │ </text> │
23:19:29 #8461 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8462 [Debug] > │ points="69,425 69,430 "/> │
23:19:29 #8463 [Debug] > │ <text x="105" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8464 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8465 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8466 [Debug] > │ 15.0 │
23:19:29 #8467 [Debug] > │ </text> │
23:19:29 #8468 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8469 [Debug] > │ points="105,425 105,430 "/> │
23:19:29 #8470 [Debug] > │ <text x="141" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8471 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8472 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8473 [Debug] > │ 20.0 │
23:19:29 #8474 [Debug] > │ </text> │
23:19:29 #8475 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8476 [Debug] > │ points="141,425 141,430 "/> │
23:19:29 #8477 [Debug] > │ <text x="176" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8478 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8479 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8480 [Debug] > │ 25.0 │
23:19:29 #8481 [Debug] > │ </text> │
23:19:29 #8482 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8483 [Debug] > │ points="176,425 176,430 "/> │
23:19:29 #8484 [Debug] > │ <text x="212" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8485 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8486 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8487 [Debug] > │ 30.0 │
23:19:29 #8488 [Debug] > │ </text> │
23:19:29 #8489 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8490 [Debug] > │ points="212,425 212,430 "/> │
23:19:29 #8491 [Debug] > │ <text x="248" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8492 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8493 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8494 [Debug] > │ 35.0 │
23:19:29 #8495 [Debug] > │ </text> │
23:19:29 #8496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8497 [Debug] > │ points="248,425 248,430 "/> │
23:19:29 #8498 [Debug] > │ <text x="283" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8499 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8500 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8501 [Debug] > │ 40.0 │
23:19:29 #8502 [Debug] > │ </text> │
23:19:29 #8503 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8504 [Debug] > │ points="283,425 283,430 "/> │
23:19:29 #8505 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8506 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8507 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8508 [Debug] > │ 45.0 │
23:19:29 #8509 [Debug] > │ </text> │
23:19:29 #8510 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8511 [Debug] > │ points="319,425 319,430 "/> │
23:19:29 #8512 [Debug] > │ <text x="355" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8513 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8514 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8515 [Debug] > │ 50.0 │
23:19:29 #8516 [Debug] > │ </text> │
23:19:29 #8517 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8518 [Debug] > │ points="355,425 355,430 "/> │
23:19:29 #8519 [Debug] > │ <text x="390" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8520 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8521 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8522 [Debug] > │ 55.0 │
23:19:29 #8523 [Debug] > │ </text> │
23:19:29 #8524 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8525 [Debug] > │ points="390,425 390,430 "/> │
23:19:29 #8526 [Debug] > │ <text x="426" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8527 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8528 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8529 [Debug] > │ 60.0 │
23:19:29 #8530 [Debug] > │ </text> │
23:19:29 #8531 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8532 [Debug] > │ points="426,425 426,430 "/> │
23:19:29 #8533 [Debug] > │ <text x="462" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8534 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8535 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8536 [Debug] > │ 65.0 │
23:19:29 #8537 [Debug] > │ </text> │
23:19:29 #8538 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8539 [Debug] > │ points="462,425 462,430 "/> │
23:19:29 #8540 [Debug] > │ <text x="497" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8541 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8542 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8543 [Debug] > │ 70.0 │
23:19:29 #8544 [Debug] > │ </text> │
23:19:29 #8545 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8546 [Debug] > │ points="497,425 497,430 "/> │
23:19:29 #8547 [Debug] > │ <text x="533" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8548 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8549 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8550 [Debug] > │ 75.0 │
23:19:29 #8551 [Debug] > │ </text> │
23:19:29 #8552 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8553 [Debug] > │ points="533,425 533,430 "/> │
23:19:29 #8554 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:29 #8555 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8556 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8557 [Debug] > │ 80.0 │
23:19:29 #8558 [Debug] > │ </text> │
23:19:29 #8559 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8560 [Debug] > │ points="569,425 569,430 "/> │
23:19:29 #8561 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8562 [Debug] > │ points="585,75 585,424 "/> │
23:19:29 #8563 [Debug] > │ <text x="622" y="410" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8564 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8565 [Debug] > │ 40.0 │
23:19:29 #8566 [Debug] > │ </text> │
23:19:29 #8567 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8568 [Debug] > │ points="585,410 590,410 "/> │
23:19:29 #8569 [Debug] > │ <text x="622" y="368" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8570 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8571 [Debug] > │ 50.0 │
23:19:29 #8572 [Debug] > │ </text> │
23:19:29 #8573 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8574 [Debug] > │ points="585,368 590,368 "/> │
23:19:29 #8575 [Debug] > │ <text x="622" y="326" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8576 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8577 [Debug] > │ 60.0 │
23:19:29 #8578 [Debug] > │ </text> │
23:19:29 #8579 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8580 [Debug] > │ points="585,326 590,326 "/> │
23:19:29 #8581 [Debug] > │ <text x="622" y="283" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8582 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8583 [Debug] > │ 70.0 │
23:19:29 #8584 [Debug] > │ </text> │
23:19:29 #8585 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8586 [Debug] > │ points="585,283 590,283 "/> │
23:19:29 #8587 [Debug] > │ <text x="622" y="241" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8588 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8589 [Debug] > │ 80.0 │
23:19:29 #8590 [Debug] > │ </text> │
23:19:29 #8591 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8592 [Debug] > │ points="585,241 590,241 "/> │
23:19:29 #8593 [Debug] > │ <text x="622" y="199" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:29 #8594 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:29 #8595 [Debug] > │ 90.0 │
23:19:29 #8596 [Debug] > │ </text> │
23:19:29 #8597 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8598 [Debug] > │ points="585,199 590,199 "/> │
23:19:29 #8599 [Debug] > │ <text x="595" y="156" dy="0.5ex" text-anchor="start" │
23:19:29 #8600 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8601 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8602 [Debug] > │ 100.0 │
23:19:29 #8603 [Debug] > │ </text> │
23:19:29 #8604 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8605 [Debug] > │ points="585,156 590,156 "/> │
23:19:29 #8606 [Debug] > │ <text x="595" y="114" dy="0.5ex" text-anchor="start" │
23:19:29 #8607 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8608 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8609 [Debug] > │ 110.0 │
23:19:29 #8610 [Debug] > │ </text> │
23:19:29 #8611 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:29 #8612 [Debug] > │ points="585,114 590,114 "/> │
23:19:29 #8613 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:29 #8614 [Debug] > │ points="69,343 77,325 84,307 91,290 98,275 105,259 112,245 119,231 127,219 │
23:19:29 #8615 [Debug] > │ 134,207 141,196 148,184 155,174 162,164 169,155 176,147 184,139 191,132 │
23:19:29 #8616 [Debug] > │ 198,126 205,119 212,114 219,109 226,104 233,100 241,96 248,93 255,91 262,89 │
23:19:29 #8617 [Debug] > │ 269,88 276,86 283,86 290,85 298,86 305,87 312,88 319,90 326,92 333,95 340,98 │
23:19:29 #8618 [Debug] > │ 348,102 355,106 362,110 369,115 376,120 383,126 390,132 397,139 405,146 │
23:19:29 #8619 [Debug] > │ 412,153 419,161 426,169 433,178 440,187 447,197 454,207 462,217 469,228 │
23:19:29 #8620 [Debug] > │ 476,239 483,250 490,262 497,274 504,287 511,300 519,313 526,326 533,340 │
23:19:29 #8621 [Debug] > │ 540,355 547,369 554,384 561,399 569,415 "/> │
23:19:29 #8622 [Debug] > │ <rect x="421" y="235" width="159" height="30" opacity="1" fill="none" │
23:19:29 #8623 [Debug] > │ stroke="#FFFFFF"/> │
23:19:29 #8624 [Debug] > │ <text x="461" y="245" dy="0.76em" text-anchor="start" │
23:19:29 #8625 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:29 #8626 [Debug] > │ fill="#FFFFFF"> │
23:19:29 #8627 [Debug] > │ horizontal range (m) │
23:19:29 #8628 [Debug] > │ </text> │
23:19:29 #8629 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:29 #8630 [Debug] > │ points="431,250 451,250 "/> │
23:19:29 #8631 [Debug] > │ </svg> │
23:19:29 #8632 [Debug] > │ │
23:19:29 #8633 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:29 #8634 [Debug] >
23:19:29 #8635 [Debug] > ╭─[ 2.11s - stdout ]───────────────────────────────────────────────────────────╮
23:19:29 #8636 [Debug] > │ type Mut0 = {mutable l0 : int32} │
23:19:29 #8637 [Debug] > │ and UH0 = │
23:19:29 #8638 [Debug] > │ | UH0_0 of float * float * float * float * float * float * float * float │
23:19:29 #8639 [Debug] > │ * float * UH0 │
23:19:29 #8640 [Debug] > │ | UH0_1 │
23:19:29 #8641 [Debug] > │ and UH1 = │
23:19:29 #8642 [Debug] > │ | UH1_0 of float * float * UH1 │
23:19:29 #8643 [Debug] > │ | UH1_1 │
23:19:29 #8644 [Debug] > │ let rec method1 (v0 : Mut0) : bool = │
23:19:29 #8645 [Debug] > │ let v1 : int32 = v0.l0 │
23:19:29 #8646 [Debug] > │ let v2 : bool = v1 < 71 │
23:19:29 #8647 [Debug] > │ v2 │
23:19:29 #8648 [Debug] > │ and method2 (v0 : int32, v1 : Mut0) : bool = │
23:19:29 #8649 [Debug] > │ let v2 : int32 = v1.l0 │
23:19:29 #8650 [Debug] > │ let v3 : bool = v2 < v0 │
23:19:29 #8651 [Debug] > │ v3 │
23:19:29 #8652 [Debug] > │ and method4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
23:19:29 #8653 [Debug] > │ : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float * │
23:19:29 #8654 [Debug] > │ float * float * float * float * float * float * float * float) = │
23:19:29 #8655 [Debug] > │ let v10 : bool = v9 <= 0 │
23:19:29 #8656 [Debug] > │ if v10 then │
23:19:29 #8657 [Debug] > │ struct (v0, v1, v2, v3, v4, v5, v6, v7, v8) │
23:19:29 #8658 [Debug] > │ else │
23:19:29 #8659 [Debug] > │ let v11 : float = v6 * v6 │
23:19:29 #8660 [Debug] > │ let v12 : float = v7 * v7 │
23:19:29 #8661 [Debug] > │ let v13 : float = v11 + v12 │
23:19:29 #8662 [Debug] > │ let v14 : float = v8 * v8 │
23:19:29 #8663 [Debug] > │ let v15 : float = v13 + v14 │
23:19:29 #8664 [Debug] > │ let v16 : float = sqrt v15 │
23:19:29 #8665 [Debug] > │ let v17 : float = -0.0007902794129829633 * v16 │
23:19:29 #8666 [Debug] > │ let v18 : float = v17 * v6 │
23:19:29 #8667 [Debug] > │ let v19 : float = v17 * v7 │
23:19:29 #8668 [Debug] > │ let v20 : float = v17 * v8 │
23:19:29 #8669 [Debug] > │ let v21 : float = -v1 │
23:19:29 #8670 [Debug] > │ let v22 : float = v21 * 9.80665 │
23:19:29 #8671 [Debug] > │ let v23 : float = v22 * 0.0 │
23:19:29 #8672 [Debug] > │ let v24 : float = v23 + v18 │
23:19:29 #8673 [Debug] > │ let v25 : float = v23 + v19 │
23:19:29 #8674 [Debug] > │ let v26 : float = v22 + v20 │
23:19:29 #8675 [Debug] > │ let v27 : float = v24 / v1 │
23:19:29 #8676 [Debug] > │ let v28 : float = v25 / v1 │
23:19:29 #8677 [Debug] > │ let v29 : float = v26 / v1 │
23:19:29 #8678 [Debug] > │ let v30 : float = 0.01 * v27 │
23:19:29 #8679 [Debug] > │ let v31 : float = 0.01 * v28 │
23:19:29 #8680 [Debug] > │ let v32 : float = 0.01 * v29 │
23:19:29 #8681 [Debug] > │ let v33 : float = v6 + v30 │
23:19:29 #8682 [Debug] > │ let v34 : float = v7 + v31 │
23:19:29 #8683 [Debug] > │ let v35 : float = v8 + v32 │
23:19:29 #8684 [Debug] > │ let v36 : float = v5 + 0.01 │
23:19:29 #8685 [Debug] > │ let v37 : float = 0.01 * v33 │
23:19:29 #8686 [Debug] > │ let v38 : float = 0.01 * v34 │
23:19:29 #8687 [Debug] > │ let v39 : float = 0.01 * v35 │
23:19:29 #8688 [Debug] > │ let v40 : float = v2 + v37 │
23:19:29 #8689 [Debug] > │ let v41 : float = v3 + v38 │
23:19:29 #8690 [Debug] > │ let v42 : float = v4 + v39 │
23:19:29 #8691 [Debug] > │ let v43 : int32 = v9 - 1 │
23:19:29 #8692 [Debug] > │ method4(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43) │
23:19:29 #8693 [Debug] > │ and method5 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:29 #8694 [Debug] > │ match v0 with │
23:19:29 #8695 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:29 #8696 [Debug] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
23:19:29 #8697 [Debug] > │ method5(v11, v12) │
23:19:29 #8698 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:29 #8699 [Debug] > │ v1 │
23:19:29 #8700 [Debug] > │ and method3 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 = │
23:19:29 #8701 [Debug] > │ let v4 : float = 0.0 │
23:19:29 #8702 [Debug] > │ let v5 : float = 0.145 │
23:19:29 #8703 [Debug] > │ let v6 : float = 0.0 │
23:19:29 #8704 [Debug] > │ let v7 : float = 0.0 │
23:19:29 #8705 [Debug] > │ let v8 : float = 0.0 │
23:19:29 #8706 [Debug] > │ let v9 : float = 0.0 │
23:19:29 #8707 [Debug] > │ let v10 : float = 0.0 │
23:19:29 #8708 [Debug] > │ let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 : │
23:19:29 #8709 [Debug] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method4(v4, v5, │
23:19:29 #8710 [Debug] > │ v6, v7, v8, v9, v10, v0, v1, v3) │
23:19:29 #8711 [Debug] > │ let v20 : bool = v15 >= 0.0 │
23:19:29 #8712 [Debug] > │ if v20 then │
23:19:29 #8713 [Debug] > │ let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19, │
23:19:29 #8714 [Debug] > │ v2) │
23:19:29 #8715 [Debug] > │ let v22 : int32 = v3 + 1 │
23:19:29 #8716 [Debug] > │ method3(v0, v1, v21, v22) │
23:19:29 #8717 [Debug] > │ else │
23:19:29 #8718 [Debug] > │ let v24 : UH0 = UH0_1 │
23:19:29 #8719 [Debug] > │ method5(v2, v24) │
23:19:29 #8720 [Debug] > │ and method6 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:29 #8721 [Debug] > │ match v0 with │
23:19:29 #8722 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:29 #8723 [Debug] > │ let v12 : UH1 = method6(v11, v1) │
23:19:29 #8724 [Debug] > │ UH1_0(v5, v6, v12) │
23:19:29 #8725 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:29 #8726 [Debug] > │ v1 │
23:19:29 #8727 [Debug] > │ and method7 (v0 : UH1, v1 : float) : float = │
23:19:29 #8728 [Debug] > │ match v0 with │
23:19:29 #8729 [Debug] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
23:19:29 #8730 [Debug] > │ method7(v4, v2) │
23:19:29 #8731 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:29 #8732 [Debug] > │ v1 │
23:19:29 #8733 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:29 #8734 [Debug] > │ []) * (float [])) [])) = │
23:19:29 #8735 [Debug] > │ let v0 : (float []) = Array.zeroCreate<float> (71) │
23:19:29 #8736 [Debug] > │ let v1 : Mut0 = {l0 = 0} : Mut0 │
23:19:29 #8737 [Debug] > │ while method1(v1) do │
23:19:29 #8738 [Debug] > │ let v3 : int32 = v1.l0 │
23:19:29 #8739 [Debug] > │ let v4 : float = float v3 │
23:19:29 #8740 [Debug] > │ let v5 : float = 10.0 + v4 │
23:19:29 #8741 [Debug] > │ v0.[int v3] <- v5 │
23:19:29 #8742 [Debug] > │ let v6 : int32 = v3 + 1 │
23:19:29 #8743 [Debug] > │ v1.l0 <- v6 │
23:19:29 #8744 [Debug] > │ () │
23:19:29 #8745 [Debug] > │ let v7 : int32 = v0.Length │
23:19:29 #8746 [Debug] > │ let v8 : (float []) = Array.zeroCreate<float> (v7) │
23:19:29 #8747 [Debug] > │ let v9 : Mut0 = {l0 = 0} : Mut0 │
23:19:29 #8748 [Debug] > │ while method2(v7, v9) do │
23:19:29 #8749 [Debug] > │ let v11 : int32 = v9.l0 │
23:19:29 #8750 [Debug] > │ let v12 : float = v0.[int v11] │
23:19:29 #8751 [Debug] > │ let v13 : float = v12 * 3.141592653589793 │
23:19:29 #8752 [Debug] > │ let v14 : float = v13 / 180.0 │
23:19:29 #8753 [Debug] > │ let v15 : float = cos v14 │
23:19:29 #8754 [Debug] > │ let v16 : float = 45.0 * v15 │
23:19:29 #8755 [Debug] > │ let v17 : float = sin v14 │
23:19:29 #8756 [Debug] > │ let v18 : float = 45.0 * v17 │
23:19:29 #8757 [Debug] > │ let v19 : UH0 = UH0_1 │
23:19:29 #8758 [Debug] > │ let v20 : int32 = 0 │
23:19:29 #8759 [Debug] > │ let v21 : UH0 = method3(v16, v18, v19, v20) │
23:19:29 #8760 [Debug] > │ let v22 : UH1 = UH1_1 │
23:19:29 #8761 [Debug] > │ let v23 : UH1 = method6(v21, v22) │
23:19:29 #8762 [Debug] > │ let v24 : float = 0.0 │
23:19:29 #8763 [Debug] > │ let v25 : float = method7(v23, v24) │
23:19:29 #8764 [Debug] > │ v8.[int v11] <- v25 │
23:19:29 #8765 [Debug] > │ let v26 : int32 = v11 + 1 │
23:19:29 #8766 [Debug] > │ v9.l0 <- v26 │
23:19:29 #8767 [Debug] > │ () │
23:19:29 #8768 [Debug] > │ let v27 : string = "horizontal range (m)" │
23:19:29 #8769 [Debug] > │ let v28 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:29 #8770 [Debug] > │ (v27, v0, v8)|] │
23:19:29 #8771 [Debug] > │ let v29 : string = "range for a baseball hit at 45 m/s" │
23:19:29 #8772 [Debug] > │ let v30 : string = "angle above horizontal (degrees)" │
23:19:29 #8773 [Debug] > │ let v31 : string = "" │
23:19:29 #8774 [Debug] > │ struct (v29, v30, v31, v28) │
23:19:29 #8775 [Debug] > │ method0() │
23:19:29 #8776 [Debug] > │ │
23:19:29 #8777 [Debug] > │ │
23:19:29 #8778 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:29 #8779 [Debug] >
23:19:29 #8780 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:29 #8781 [Debug] > // // test
23:19:29 #8782 [Debug] >
23:19:29 #8783 [Debug] > inl best_angle (min, max) =
23:19:29 #8784 [Debug] > let rec loop theta_deg (best_range, best_theta_deg) =
23:19:29 #8785 [Debug] > if theta_deg > max
23:19:29 #8786 [Debug] > then best_range, best_theta_deg
23:19:29 #8787 [Debug] > else
23:19:29 #8788 [Debug] > inl range = baseball_range 0.01 45 theta_deg
23:19:29 #8789 [Debug] > loop
23:19:29 #8790 [Debug] > (theta_deg + 1)
23:19:29 #8791 [Debug] > (if range > best_range
23:19:29 #8792 [Debug] > then range, theta_deg
23:19:29 #8793 [Debug] > else best_range, best_theta_deg)
23:19:29 #8794 [Debug] > loop min (0f64, min)
23:19:29 #8795 [Debug] >
23:19:29 #8796 [Debug] > best_angle (30f64, 60f64)
23:19:29 #8797 [Debug] > |> _equal (116.77499158246208, 41)
23:19:29 #8798 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-2976-7628-7451856a2f84\main.spi
23:19:31 #8799 [Debug] >
23:19:31 #8800 [Debug] > ╭─[ 1.47s - stdout ]───────────────────────────────────────────────────────────╮
23:19:31 #8801 [Debug] > │ type UH0 = │
23:19:31 #8802 [Debug] > │ | UH0_0 of float * float * float * float * float * float * float * float │
23:19:31 #8803 [Debug] > │ * float * UH0 │
23:19:31 #8804 [Debug] > │ | UH0_1 │
23:19:31 #8805 [Debug] > │ and UH1 = │
23:19:31 #8806 [Debug] > │ | UH1_0 of float * float * UH1 │
23:19:31 #8807 [Debug] > │ | UH1_1 │
23:19:31 #8808 [Debug] > │ let rec method3 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, │
23:19:31 #8809 [Debug] > │ v5 : float, v6 : float, v7 : float, v8 : float, v9 : int32) : struct (float │
23:19:31 #8810 [Debug] > │ * float * float * float * float * float * float * float * float) = │
23:19:31 #8811 [Debug] > │ let v10 : bool = v9 <= 0 │
23:19:31 #8812 [Debug] > │ if v10 then │
23:19:31 #8813 [Debug] > │ struct (v0, v1, v2, v3, v4, v5, v6, v7, v8) │
23:19:31 #8814 [Debug] > │ else │
23:19:31 #8815 [Debug] > │ let v11 : float = v6 * v6 │
23:19:31 #8816 [Debug] > │ let v12 : float = v7 * v7 │
23:19:31 #8817 [Debug] > │ let v13 : float = v11 + v12 │
23:19:31 #8818 [Debug] > │ let v14 : float = v8 * v8 │
23:19:31 #8819 [Debug] > │ let v15 : float = v13 + v14 │
23:19:31 #8820 [Debug] > │ let v16 : float = sqrt v15 │
23:19:31 #8821 [Debug] > │ let v17 : float = -0.0007902794129829633 * v16 │
23:19:31 #8822 [Debug] > │ let v18 : float = v17 * v6 │
23:19:31 #8823 [Debug] > │ let v19 : float = v17 * v7 │
23:19:31 #8824 [Debug] > │ let v20 : float = v17 * v8 │
23:19:31 #8825 [Debug] > │ let v21 : float = -v1 │
23:19:31 #8826 [Debug] > │ let v22 : float = v21 * 9.80665 │
23:19:31 #8827 [Debug] > │ let v23 : float = v22 * 0.0 │
23:19:31 #8828 [Debug] > │ let v24 : float = v23 + v18 │
23:19:31 #8829 [Debug] > │ let v25 : float = v23 + v19 │
23:19:31 #8830 [Debug] > │ let v26 : float = v22 + v20 │
23:19:31 #8831 [Debug] > │ let v27 : float = v24 / v1 │
23:19:31 #8832 [Debug] > │ let v28 : float = v25 / v1 │
23:19:31 #8833 [Debug] > │ let v29 : float = v26 / v1 │
23:19:31 #8834 [Debug] > │ let v30 : float = 0.01 * v27 │
23:19:31 #8835 [Debug] > │ let v31 : float = 0.01 * v28 │
23:19:31 #8836 [Debug] > │ let v32 : float = 0.01 * v29 │
23:19:31 #8837 [Debug] > │ let v33 : float = v6 + v30 │
23:19:31 #8838 [Debug] > │ let v34 : float = v7 + v31 │
23:19:31 #8839 [Debug] > │ let v35 : float = v8 + v32 │
23:19:31 #8840 [Debug] > │ let v36 : float = v5 + 0.01 │
23:19:31 #8841 [Debug] > │ let v37 : float = 0.01 * v33 │
23:19:31 #8842 [Debug] > │ let v38 : float = 0.01 * v34 │
23:19:31 #8843 [Debug] > │ let v39 : float = 0.01 * v35 │
23:19:31 #8844 [Debug] > │ let v40 : float = v2 + v37 │
23:19:31 #8845 [Debug] > │ let v41 : float = v3 + v38 │
23:19:31 #8846 [Debug] > │ let v42 : float = v4 + v39 │
23:19:31 #8847 [Debug] > │ let v43 : int32 = v9 - 1 │
23:19:31 #8848 [Debug] > │ method3(v0, v1, v40, v41, v42, v36, v33, v34, v35, v43) │
23:19:31 #8849 [Debug] > │ and method4 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:31 #8850 [Debug] > │ match v0 with │
23:19:31 #8851 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:31 #8852 [Debug] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
23:19:31 #8853 [Debug] > │ method4(v11, v12) │
23:19:31 #8854 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:31 #8855 [Debug] > │ v1 │
23:19:31 #8856 [Debug] > │ and method2 (v0 : float, v1 : float, v2 : UH0, v3 : int32) : UH0 = │
23:19:31 #8857 [Debug] > │ let v4 : float = 0.0 │
23:19:31 #8858 [Debug] > │ let v5 : float = 0.145 │
23:19:31 #8859 [Debug] > │ let v6 : float = 0.0 │
23:19:31 #8860 [Debug] > │ let v7 : float = 0.0 │
23:19:31 #8861 [Debug] > │ let v8 : float = 0.0 │
23:19:31 #8862 [Debug] > │ let v9 : float = 0.0 │
23:19:31 #8863 [Debug] > │ let v10 : float = 0.0 │
23:19:31 #8864 [Debug] > │ let struct (v11 : float, v12 : float, v13 : float, v14 : float, v15 : │
23:19:31 #8865 [Debug] > │ float, v16 : float, v17 : float, v18 : float, v19 : float) = method3(v4, v5, │
23:19:31 #8866 [Debug] > │ v6, v7, v8, v9, v10, v0, v1, v3) │
23:19:31 #8867 [Debug] > │ let v20 : bool = v15 >= 0.0 │
23:19:31 #8868 [Debug] > │ if v20 then │
23:19:31 #8869 [Debug] > │ let v21 : UH0 = UH0_0(v11, v12, v13, v14, v15, v16, v17, v18, v19, │
23:19:31 #8870 [Debug] > │ v2) │
23:19:31 #8871 [Debug] > │ let v22 : int32 = v3 + 1 │
23:19:31 #8872 [Debug] > │ method2(v0, v1, v21, v22) │
23:19:31 #8873 [Debug] > │ else │
23:19:31 #8874 [Debug] > │ let v24 : UH0 = UH0_1 │
23:19:31 #8875 [Debug] > │ method4(v2, v24) │
23:19:31 #8876 [Debug] > │ and method5 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:31 #8877 [Debug] > │ match v0 with │
23:19:31 #8878 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:31 #8879 [Debug] > │ let v12 : UH1 = method5(v11, v1) │
23:19:31 #8880 [Debug] > │ UH1_0(v5, v6, v12) │
23:19:31 #8881 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:31 #8882 [Debug] > │ v1 │
23:19:31 #8883 [Debug] > │ and method6 (v0 : UH1, v1 : float) : float = │
23:19:31 #8884 [Debug] > │ match v0 with │
23:19:31 #8885 [Debug] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
23:19:31 #8886 [Debug] > │ method6(v4, v2) │
23:19:31 #8887 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:31 #8888 [Debug] > │ v1 │
23:19:31 #8889 [Debug] > │ and method1 (v0 : float, v1 : float, v2 : float) : struct (float * float) = │
23:19:31 #8890 [Debug] > │ let v3 : bool = v0 > 60.0 │
23:19:31 #8891 [Debug] > │ if v3 then │
23:19:31 #8892 [Debug] > │ struct (v2, v1) │
23:19:31 #8893 [Debug] > │ else │
23:19:31 #8894 [Debug] > │ let v4 : float = v0 * 3.141592653589793 │
23:19:31 #8895 [Debug] > │ let v5 : float = v4 / 180.0 │
23:19:31 #8896 [Debug] > │ let v6 : float = cos v5 │
23:19:31 #8897 [Debug] > │ let v7 : float = 45.0 * v6 │
23:19:31 #8898 [Debug] > │ let v8 : float = sin v5 │
23:19:31 #8899 [Debug] > │ let v9 : float = 45.0 * v8 │
23:19:31 #8900 [Debug] > │ let v10 : UH0 = UH0_1 │
23:19:31 #8901 [Debug] > │ let v11 : int32 = 0 │
23:19:31 #8902 [Debug] > │ let v12 : UH0 = method2(v7, v9, v10, v11) │
23:19:31 #8903 [Debug] > │ let v13 : UH1 = UH1_1 │
23:19:31 #8904 [Debug] > │ let v14 : UH1 = method5(v12, v13) │
23:19:31 #8905 [Debug] > │ let v15 : float = 0.0 │
23:19:31 #8906 [Debug] > │ let v16 : float = method6(v14, v15) │
23:19:31 #8907 [Debug] > │ let v17 : float = v0 + 1.0 │
23:19:31 #8908 [Debug] > │ let v18 : bool = v16 > v2 │
23:19:31 #8909 [Debug] > │ let struct (v19 : float, v20 : float) = │
23:19:31 #8910 [Debug] > │ if v18 then │
23:19:31 #8911 [Debug] > │ struct (v16, v0) │
23:19:31 #8912 [Debug] > │ else │
23:19:31 #8913 [Debug] > │ struct (v2, v1) │
23:19:31 #8914 [Debug] > │ method1(v17, v20, v19) │
23:19:31 #8915 [Debug] > │ and method0 () : unit = │
23:19:31 #8916 [Debug] > │ let v0 : float = 30.0 │
23:19:31 #8917 [Debug] > │ let v1 : float = 0.0 │
23:19:31 #8918 [Debug] > │ let v2 : float = 30.0 │
23:19:31 #8919 [Debug] > │ let struct (v3 : float, v4 : float) = method1(v0, v2, v1) │
23:19:31 #8920 [Debug] > │ let v5 : bool = v3 = 116.77499158246208 │
23:19:31 #8921 [Debug] > │ let v7 : bool = │
23:19:31 #8922 [Debug] > │ if v5 then │
23:19:31 #8923 [Debug] > │ let v6 : bool = v4 = 41.0 │
23:19:31 #8924 [Debug] > │ v6 │
23:19:31 #8925 [Debug] > │ else │
23:19:31 #8926 [Debug] > │ false │
23:19:31 #8927 [Debug] > │ let v8 : string = $"_equal / actual: %A{struct (v3, v4)} / expected: │
23:19:31 #8928 [Debug] > │ %A{struct (116.77499158246208, 41.0)}" │
23:19:31 #8929 [Debug] > │ let v9 : bool = v7 = false │
23:19:31 #8930 [Debug] > │ if v9 then │
23:19:31 #8931 [Debug] > │ failwith<unit> v8 │
23:19:31 #8932 [Debug] > │ method0() │
23:19:31 #8933 [Debug] > │ │
23:19:31 #8934 [Debug] > │ │
23:19:31 #8935 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:31 #8936 [Debug] >
23:19:31 #8937 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:31 #8938 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:31 #8939 [Debug] > │ ## relativity_ps │
23:19:31 #8940 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:31 #8941 [Debug] >
23:19:31 #8942 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:31 #8943 [Debug] > inl relativity_ps fs (st : particle_state) =
23:19:31 #8944 [Debug] > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec
23:19:31 #8945 [Debug] > inl c = 299792458
23:19:31 #8946 [Debug] > inl u = st.velocity ^/ c
23:19:31 #8947 [Debug] > inl acc = sqrt (1 - (u <.> u)) *^ (f_net ^-^ (f_net <.> u) *^ u) ^/ st.mass
23:19:31 #8948 [Debug] > d_particle_state {
23:19:31 #8949 [Debug] > dmdt = 0
23:19:31 #8950 [Debug] > dqdt = 0
23:19:31 #8951 [Debug] > dtdt = 1
23:19:31 #8952 [Debug] > drdt = st.velocity
23:19:31 #8953 [Debug] > dvdt = acc
23:19:31 #8954 [Debug] > }
23:19:31 #8955 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3132-3269-3ad2378b9517\main.spi
23:19:31 #8956 [Debug] >
23:19:31 #8957 [Debug] > ╭─[ 313.76ms - stdout ]────────────────────────────────────────────────────────╮
23:19:31 #8958 [Debug] > │ () │
23:19:31 #8959 [Debug] > │ │
23:19:31 #8960 [Debug] > │ │
23:19:31 #8961 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:31 #8962 [Debug] >
23:19:31 #8963 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:31 #8964 [Debug] > // // test
23:19:31 #8965 [Debug] >
23:19:31 #8966 [Debug] > inl year = 365.25 * 24 * 60 * 60
23:19:31 #8967 [Debug] > inl c = 299792458
23:19:31 #8968 [Debug] > inl ~method = runge_kutta_4 100000
23:19:31 #8969 [Debug] > inl forces = [[ fun _ => 10 *^ i_hat () ]]
23:19:31 #8970 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:31 #8971 [Debug] > inl initial_state =
23:19:31 #8972 [Debug] > particle_state { default_particle_state' with
23:19:31 #8973 [Debug] > mass = 1
23:19:31 #8974 [Debug] > }
23:19:31 #8975 [Debug] >
23:19:31 #8976 [Debug] > inl newton_states = solver_ method (newton_second_ps forces) initial_state
23:19:31 #8977 [Debug] > inl relativity_states = solver_ method (relativity_ps forces) initial_state
23:19:31 #8978 [Debug] >
23:19:31 #8979 [Debug] > inl newton_x, newton_y =
23:19:31 #8980 [Debug] > newton_states
23:19:31 #8981 [Debug] > >> Some
23:19:31 #8982 [Debug] > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
23:19:31 #8983 [Debug] > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
23:19:31 #8984 [Debug] > |> listm'.unzip
23:19:31 #8985 [Debug] >
23:19:31 #8986 [Debug] > inl _, relativity_y =
23:19:31 #8987 [Debug] > relativity_states
23:19:31 #8988 [Debug] > >> Some
23:19:31 #8989 [Debug] > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year)
23:19:31 #8990 [Debug] > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c)
23:19:31 #8991 [Debug] > |> listm'.unzip
23:19:31 #8992 [Debug] >
23:19:31 #8993 [Debug] > inl newton_x : a i32 _ = newton_x |> listm.toArray
23:19:31 #8994 [Debug] > inl newton_y : a i32 _ = newton_y |> listm.toArray
23:19:31 #8995 [Debug] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
23:19:31 #8996 [Debug] >
23:19:31 #8997 [Debug] > "response to a constant force",
23:19:31 #8998 [Debug] > "time (years)",
23:19:31 #8999 [Debug] > "velocity (multiples of c)",
23:19:31 #9000 [Debug] > ;[[
23:19:31 #9001 [Debug] > "newtonian", newton_x, newton_y
23:19:31 #9002 [Debug] > "relativistic", newton_x, relativity_y
23:19:31 #9003 [Debug] > ]]
23:19:31 #9004 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3164-6418-6dd22dd999f4\main.spi
23:19:32 #9005 [Debug] >
23:19:32 #9006 [Debug] > ╭─[ 1.11s - return value ]─────────────────────────────────────────────────────╮
23:19:32 #9007 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:32 #9008 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:32 #9009 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:32 #9010 [Debug] > │ stroke="none"/> │
23:19:32 #9011 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:32 #9012 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9013 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9014 [Debug] > │ response to a constant force │
23:19:32 #9015 [Debug] > │ </text> │
23:19:32 #9016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:32 #9017 [Debug] > │ y2="75"/> │
23:19:32 #9018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:32 #9019 [Debug] > │ y2="75"/> │
23:19:32 #9020 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:32 #9021 [Debug] > │ y2="75"/> │
23:19:32 #9022 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:32 #9023 [Debug] > │ y2="75"/> │
23:19:32 #9024 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:32 #9025 [Debug] > │ y2="75"/> │
23:19:32 #9026 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:32 #9027 [Debug] > │ x2="109" y2="75"/> │
23:19:32 #9028 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:32 #9029 [Debug] > │ x2="119" y2="75"/> │
23:19:32 #9030 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:32 #9031 [Debug] > │ x2="129" y2="75"/> │
23:19:32 #9032 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:32 #9033 [Debug] > │ x2="139" y2="75"/> │
23:19:32 #9034 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:32 #9035 [Debug] > │ x2="149" y2="75"/> │
23:19:32 #9036 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:32 #9037 [Debug] > │ x2="159" y2="75"/> │
23:19:32 #9038 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:32 #9039 [Debug] > │ x2="169" y2="75"/> │
23:19:32 #9040 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:32 #9041 [Debug] > │ x2="179" y2="75"/> │
23:19:32 #9042 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:32 #9043 [Debug] > │ x2="189" y2="75"/> │
23:19:32 #9044 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:32 #9045 [Debug] > │ x2="199" y2="75"/> │
23:19:32 #9046 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:32 #9047 [Debug] > │ x2="209" y2="75"/> │
23:19:32 #9048 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:32 #9049 [Debug] > │ x2="219" y2="75"/> │
23:19:32 #9050 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:32 #9051 [Debug] > │ x2="229" y2="75"/> │
23:19:32 #9052 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:32 #9053 [Debug] > │ x2="239" y2="75"/> │
23:19:32 #9054 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:32 #9055 [Debug] > │ x2="249" y2="75"/> │
23:19:32 #9056 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:32 #9057 [Debug] > │ x2="259" y2="75"/> │
23:19:32 #9058 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:32 #9059 [Debug] > │ x2="269" y2="75"/> │
23:19:32 #9060 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:32 #9061 [Debug] > │ x2="279" y2="75"/> │
23:19:32 #9062 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:32 #9063 [Debug] > │ x2="289" y2="75"/> │
23:19:32 #9064 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:32 #9065 [Debug] > │ x2="299" y2="75"/> │
23:19:32 #9066 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:32 #9067 [Debug] > │ x2="309" y2="75"/> │
23:19:32 #9068 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:32 #9069 [Debug] > │ x2="319" y2="75"/> │
23:19:32 #9070 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:32 #9071 [Debug] > │ x2="329" y2="75"/> │
23:19:32 #9072 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:32 #9073 [Debug] > │ x2="339" y2="75"/> │
23:19:32 #9074 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:32 #9075 [Debug] > │ x2="349" y2="75"/> │
23:19:32 #9076 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:32 #9077 [Debug] > │ x2="359" y2="75"/> │
23:19:32 #9078 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:32 #9079 [Debug] > │ x2="369" y2="75"/> │
23:19:32 #9080 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:32 #9081 [Debug] > │ x2="379" y2="75"/> │
23:19:32 #9082 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:32 #9083 [Debug] > │ x2="389" y2="75"/> │
23:19:32 #9084 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:32 #9085 [Debug] > │ x2="399" y2="75"/> │
23:19:32 #9086 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:32 #9087 [Debug] > │ x2="409" y2="75"/> │
23:19:32 #9088 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:32 #9089 [Debug] > │ x2="419" y2="75"/> │
23:19:32 #9090 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:32 #9091 [Debug] > │ x2="429" y2="75"/> │
23:19:32 #9092 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:32 #9093 [Debug] > │ x2="439" y2="75"/> │
23:19:32 #9094 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:32 #9095 [Debug] > │ x2="449" y2="75"/> │
23:19:32 #9096 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:32 #9097 [Debug] > │ x2="459" y2="75"/> │
23:19:32 #9098 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:32 #9099 [Debug] > │ x2="469" y2="75"/> │
23:19:32 #9100 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:32 #9101 [Debug] > │ x2="479" y2="75"/> │
23:19:32 #9102 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:32 #9103 [Debug] > │ x2="489" y2="75"/> │
23:19:32 #9104 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:32 #9105 [Debug] > │ x2="499" y2="75"/> │
23:19:32 #9106 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:32 #9107 [Debug] > │ x2="509" y2="75"/> │
23:19:32 #9108 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:32 #9109 [Debug] > │ x2="519" y2="75"/> │
23:19:32 #9110 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:32 #9111 [Debug] > │ x2="529" y2="75"/> │
23:19:32 #9112 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:32 #9113 [Debug] > │ x2="539" y2="75"/> │
23:19:32 #9114 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:32 #9115 [Debug] > │ x2="549" y2="75"/> │
23:19:32 #9116 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:32 #9117 [Debug] > │ x2="559" y2="75"/> │
23:19:32 #9118 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:32 #9119 [Debug] > │ x2="569" y2="75"/> │
23:19:32 #9120 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:32 #9121 [Debug] > │ x2="584" y2="415"/> │
23:19:32 #9122 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="399" │
23:19:32 #9123 [Debug] > │ x2="584" y2="399"/> │
23:19:32 #9124 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="383" │
23:19:32 #9125 [Debug] > │ x2="584" y2="383"/> │
23:19:32 #9126 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368" │
23:19:32 #9127 [Debug] > │ x2="584" y2="368"/> │
23:19:32 #9128 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="352" │
23:19:32 #9129 [Debug] > │ x2="584" y2="352"/> │
23:19:32 #9130 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="336" │
23:19:32 #9131 [Debug] > │ x2="584" y2="336"/> │
23:19:32 #9132 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321" │
23:19:32 #9133 [Debug] > │ x2="584" y2="321"/> │
23:19:32 #9134 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="305" │
23:19:32 #9135 [Debug] > │ x2="584" y2="305"/> │
23:19:32 #9136 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="289" │
23:19:32 #9137 [Debug] > │ x2="584" y2="289"/> │
23:19:32 #9138 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="274" │
23:19:32 #9139 [Debug] > │ x2="584" y2="274"/> │
23:19:32 #9140 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="258" │
23:19:32 #9141 [Debug] > │ x2="584" y2="258"/> │
23:19:32 #9142 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="242" │
23:19:32 #9143 [Debug] > │ x2="584" y2="242"/> │
23:19:32 #9144 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="227" │
23:19:32 #9145 [Debug] > │ x2="584" y2="227"/> │
23:19:32 #9146 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="211" │
23:19:32 #9147 [Debug] > │ x2="584" y2="211"/> │
23:19:32 #9148 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="195" │
23:19:32 #9149 [Debug] > │ x2="584" y2="195"/> │
23:19:32 #9150 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="180" │
23:19:32 #9151 [Debug] > │ x2="584" y2="180"/> │
23:19:32 #9152 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="164" │
23:19:32 #9153 [Debug] > │ x2="584" y2="164"/> │
23:19:32 #9154 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="148" │
23:19:32 #9155 [Debug] > │ x2="584" y2="148"/> │
23:19:32 #9156 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="133" │
23:19:32 #9157 [Debug] > │ x2="584" y2="133"/> │
23:19:32 #9158 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="117" │
23:19:32 #9159 [Debug] > │ x2="584" y2="117"/> │
23:19:32 #9160 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="101" │
23:19:32 #9161 [Debug] > │ x2="584" y2="101"/> │
23:19:32 #9162 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="86" x2="584" │
23:19:32 #9163 [Debug] > │ y2="86"/> │
23:19:32 #9164 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:32 #9165 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9166 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9167 [Debug] > │ time (years) │
23:19:32 #9168 [Debug] > │ </text> │
23:19:32 #9169 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:32 #9170 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9171 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:32 #9172 [Debug] > │ velocity (multiples of c) │
23:19:32 #9173 [Debug] > │ </text> │
23:19:32 #9174 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9175 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9176 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9177 [Debug] > │ time (years) │
23:19:32 #9178 [Debug] > │ </text> │
23:19:32 #9179 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:32 #9180 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9181 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:32 #9182 [Debug] > │ velocity (multiples of c) │
23:19:32 #9183 [Debug] > │ </text> │
23:19:32 #9184 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:32 #9185 [Debug] > │ y2="75"/> │
23:19:32 #9186 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:32 #9187 [Debug] > │ x2="119" y2="75"/> │
23:19:32 #9188 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:32 #9189 [Debug] > │ x2="169" y2="75"/> │
23:19:32 #9190 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:32 #9191 [Debug] > │ x2="219" y2="75"/> │
23:19:32 #9192 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:32 #9193 [Debug] > │ x2="269" y2="75"/> │
23:19:32 #9194 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:32 #9195 [Debug] > │ x2="319" y2="75"/> │
23:19:32 #9196 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:32 #9197 [Debug] > │ x2="369" y2="75"/> │
23:19:32 #9198 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:32 #9199 [Debug] > │ x2="419" y2="75"/> │
23:19:32 #9200 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:32 #9201 [Debug] > │ x2="469" y2="75"/> │
23:19:32 #9202 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:32 #9203 [Debug] > │ x2="519" y2="75"/> │
23:19:32 #9204 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:32 #9205 [Debug] > │ x2="569" y2="75"/> │
23:19:32 #9206 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="415" │
23:19:32 #9207 [Debug] > │ x2="584" y2="415"/> │
23:19:32 #9208 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="352" │
23:19:32 #9209 [Debug] > │ x2="584" y2="352"/> │
23:19:32 #9210 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="289" │
23:19:32 #9211 [Debug] > │ x2="584" y2="289"/> │
23:19:32 #9212 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="227" │
23:19:32 #9213 [Debug] > │ x2="584" y2="227"/> │
23:19:32 #9214 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="164" │
23:19:32 #9215 [Debug] > │ x2="584" y2="164"/> │
23:19:32 #9216 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="101" │
23:19:32 #9217 [Debug] > │ x2="584" y2="101"/> │
23:19:32 #9218 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9219 [Debug] > │ points="55,74 584,74 "/> │
23:19:32 #9220 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9221 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9222 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9223 [Debug] > │ 0.0 │
23:19:32 #9224 [Debug] > │ </text> │
23:19:32 #9225 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9226 [Debug] > │ points="69,69 69,74 "/> │
23:19:32 #9227 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9228 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9229 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9230 [Debug] > │ 0.1 │
23:19:32 #9231 [Debug] > │ </text> │
23:19:32 #9232 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9233 [Debug] > │ points="119,69 119,74 "/> │
23:19:32 #9234 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9235 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9236 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9237 [Debug] > │ 0.2 │
23:19:32 #9238 [Debug] > │ </text> │
23:19:32 #9239 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9240 [Debug] > │ points="169,69 169,74 "/> │
23:19:32 #9241 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9242 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9243 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9244 [Debug] > │ 0.3 │
23:19:32 #9245 [Debug] > │ </text> │
23:19:32 #9246 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9247 [Debug] > │ points="219,69 219,74 "/> │
23:19:32 #9248 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9249 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9250 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9251 [Debug] > │ 0.4 │
23:19:32 #9252 [Debug] > │ </text> │
23:19:32 #9253 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9254 [Debug] > │ points="269,69 269,74 "/> │
23:19:32 #9255 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9256 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9257 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9258 [Debug] > │ 0.5 │
23:19:32 #9259 [Debug] > │ </text> │
23:19:32 #9260 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9261 [Debug] > │ points="319,69 319,74 "/> │
23:19:32 #9262 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9263 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9264 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9265 [Debug] > │ 0.6 │
23:19:32 #9266 [Debug] > │ </text> │
23:19:32 #9267 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9268 [Debug] > │ points="369,69 369,74 "/> │
23:19:32 #9269 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9270 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9271 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9272 [Debug] > │ 0.7 │
23:19:32 #9273 [Debug] > │ </text> │
23:19:32 #9274 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9275 [Debug] > │ points="419,69 419,74 "/> │
23:19:32 #9276 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9277 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9278 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9279 [Debug] > │ 0.8 │
23:19:32 #9280 [Debug] > │ </text> │
23:19:32 #9281 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9282 [Debug] > │ points="469,69 469,74 "/> │
23:19:32 #9283 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9284 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9285 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9286 [Debug] > │ 0.9 │
23:19:32 #9287 [Debug] > │ </text> │
23:19:32 #9288 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9289 [Debug] > │ points="519,69 519,74 "/> │
23:19:32 #9290 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:32 #9291 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9292 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9293 [Debug] > │ 1.0 │
23:19:32 #9294 [Debug] > │ </text> │
23:19:32 #9295 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9296 [Debug] > │ points="569,69 569,74 "/> │
23:19:32 #9297 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9298 [Debug] > │ points="54,75 54,424 "/> │
23:19:32 #9299 [Debug] > │ <text x="45" y="415" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:32 #9300 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:32 #9301 [Debug] > │ 0.0 │
23:19:32 #9302 [Debug] > │ </text> │
23:19:32 #9303 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9304 [Debug] > │ points="49,415 54,415 "/> │
23:19:32 #9305 [Debug] > │ <text x="45" y="352" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:32 #9306 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:32 #9307 [Debug] > │ 0.2 │
23:19:32 #9308 [Debug] > │ </text> │
23:19:32 #9309 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9310 [Debug] > │ points="49,352 54,352 "/> │
23:19:32 #9311 [Debug] > │ <text x="45" y="289" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:32 #9312 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:32 #9313 [Debug] > │ 0.4 │
23:19:32 #9314 [Debug] > │ </text> │
23:19:32 #9315 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9316 [Debug] > │ points="49,289 54,289 "/> │
23:19:32 #9317 [Debug] > │ <text x="45" y="227" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:32 #9318 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:32 #9319 [Debug] > │ 0.6 │
23:19:32 #9320 [Debug] > │ </text> │
23:19:32 #9321 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9322 [Debug] > │ points="49,227 54,227 "/> │
23:19:32 #9323 [Debug] > │ <text x="45" y="164" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:32 #9324 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:32 #9325 [Debug] > │ 0.8 │
23:19:32 #9326 [Debug] > │ </text> │
23:19:32 #9327 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9328 [Debug] > │ points="49,164 54,164 "/> │
23:19:32 #9329 [Debug] > │ <text x="45" y="101" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:32 #9330 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:32 #9331 [Debug] > │ 1.0 │
23:19:32 #9332 [Debug] > │ </text> │
23:19:32 #9333 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9334 [Debug] > │ points="49,101 54,101 "/> │
23:19:32 #9335 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9336 [Debug] > │ points="55,425 584,425 "/> │
23:19:32 #9337 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9338 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9339 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9340 [Debug] > │ 0.0 │
23:19:32 #9341 [Debug] > │ </text> │
23:19:32 #9342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9343 [Debug] > │ points="69,425 69,430 "/> │
23:19:32 #9344 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9345 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9346 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9347 [Debug] > │ 0.1 │
23:19:32 #9348 [Debug] > │ </text> │
23:19:32 #9349 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9350 [Debug] > │ points="119,425 119,430 "/> │
23:19:32 #9351 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9352 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9353 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9354 [Debug] > │ 0.2 │
23:19:32 #9355 [Debug] > │ </text> │
23:19:32 #9356 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9357 [Debug] > │ points="169,425 169,430 "/> │
23:19:32 #9358 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9359 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9360 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9361 [Debug] > │ 0.3 │
23:19:32 #9362 [Debug] > │ </text> │
23:19:32 #9363 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9364 [Debug] > │ points="219,425 219,430 "/> │
23:19:32 #9365 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9366 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9367 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9368 [Debug] > │ 0.4 │
23:19:32 #9369 [Debug] > │ </text> │
23:19:32 #9370 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9371 [Debug] > │ points="269,425 269,430 "/> │
23:19:32 #9372 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9373 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9374 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9375 [Debug] > │ 0.5 │
23:19:32 #9376 [Debug] > │ </text> │
23:19:32 #9377 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9378 [Debug] > │ points="319,425 319,430 "/> │
23:19:32 #9379 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9380 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9381 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9382 [Debug] > │ 0.6 │
23:19:32 #9383 [Debug] > │ </text> │
23:19:32 #9384 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9385 [Debug] > │ points="369,425 369,430 "/> │
23:19:32 #9386 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9387 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9388 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9389 [Debug] > │ 0.7 │
23:19:32 #9390 [Debug] > │ </text> │
23:19:32 #9391 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9392 [Debug] > │ points="419,425 419,430 "/> │
23:19:32 #9393 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9394 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9395 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9396 [Debug] > │ 0.8 │
23:19:32 #9397 [Debug] > │ </text> │
23:19:32 #9398 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9399 [Debug] > │ points="469,425 469,430 "/> │
23:19:32 #9400 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9401 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9402 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9403 [Debug] > │ 0.9 │
23:19:32 #9404 [Debug] > │ </text> │
23:19:32 #9405 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9406 [Debug] > │ points="519,425 519,430 "/> │
23:19:32 #9407 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:32 #9408 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9409 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9410 [Debug] > │ 1.0 │
23:19:32 #9411 [Debug] > │ </text> │
23:19:32 #9412 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9413 [Debug] > │ points="569,425 569,430 "/> │
23:19:32 #9414 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:32 #9415 [Debug] > │ points="585,75 585,424 "/> │
23:19:32 #9416 [Debug] > │ <text x="595" y="415" dy="0.5ex" text-anchor="start" │
23:19:32 #9417 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:32 #9418 [Debug] > │ fill="#FFFFFF"> │
23:19:32 #9419 [Debug] > │ 0.0 │
23:19:33 #9420 [Debug] > │ </text> │
23:19:33 #9421 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:33 #9422 [Debug] > │ points="585,415 590,415 "/> │
23:19:33 #9423 [Debug] > │ <text x="595" y="352" dy="0.5ex" text-anchor="start" │
23:19:33 #9424 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9425 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9426 [Debug] > │ 0.2 │
23:19:33 #9427 [Debug] > │ </text> │
23:19:33 #9428 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:33 #9429 [Debug] > │ points="585,352 590,352 "/> │
23:19:33 #9430 [Debug] > │ <text x="595" y="289" dy="0.5ex" text-anchor="start" │
23:19:33 #9431 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9432 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9433 [Debug] > │ 0.4 │
23:19:33 #9434 [Debug] > │ </text> │
23:19:33 #9435 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:33 #9436 [Debug] > │ points="585,289 590,289 "/> │
23:19:33 #9437 [Debug] > │ <text x="595" y="227" dy="0.5ex" text-anchor="start" │
23:19:33 #9438 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9439 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9440 [Debug] > │ 0.6 │
23:19:33 #9441 [Debug] > │ </text> │
23:19:33 #9442 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:33 #9443 [Debug] > │ points="585,227 590,227 "/> │
23:19:33 #9444 [Debug] > │ <text x="595" y="164" dy="0.5ex" text-anchor="start" │
23:19:33 #9445 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9446 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9447 [Debug] > │ 0.8 │
23:19:33 #9448 [Debug] > │ </text> │
23:19:33 #9449 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:33 #9450 [Debug] > │ points="585,164 590,164 "/> │
23:19:33 #9451 [Debug] > │ <text x="595" y="101" dy="0.5ex" text-anchor="start" │
23:19:33 #9452 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9453 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9454 [Debug] > │ 1.0 │
23:19:33 #9455 [Debug] > │ </text> │
23:19:33 #9456 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:33 #9457 [Debug] > │ points="585,101 590,101 "/> │
23:19:33 #9458 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:33 #9459 [Debug] > │ points="69,415 71,414 73,413 74,411 76,410 77,409 79,408 81,407 82,406 │
23:19:33 #9460 [Debug] > │ 84,405 85,404 87,403 88,402 90,401 92,400 93,399 95,398 96,397 98,396 │
23:19:33 #9461 [Debug] > │ 100,395 101,394 103,393 104,392 106,391 107,390 109,388 111,387 112,386 │
23:19:33 #9462 [Debug] > │ 114,385 115,384 117,383 119,382 120,381 122,380 123,379 125,378 127,377 │
23:19:33 #9463 [Debug] > │ 128,376 130,375 131,374 133,373 134,372 136,371 138,370 139,369 141,368 │
23:19:33 #9464 [Debug] > │ 142,367 144,365 146,364 147,363 149,362 150,361 152,360 153,359 155,358 │
23:19:33 #9465 [Debug] > │ 157,357 158,356 160,355 161,354 163,353 165,352 166,351 168,350 169,349 │
23:19:33 #9466 [Debug] > │ 171,348 172,347 174,346 176,345 177,344 179,343 180,341 182,340 184,339 │
23:19:33 #9467 [Debug] > │ 185,338 187,337 188,336 190,335 191,334 193,333 195,332 196,331 198,330 │
23:19:33 #9468 [Debug] > │ 199,329 201,328 203,327 204,326 206,325 207,324 209,323 210,322 212,321 │
23:19:33 #9469 [Debug] > │ 214,320 215,318 217,317 218,316 220,315 222,314 223,313 225,312 226,311 │
23:19:33 #9470 [Debug] > │ 228,310 229,309 231,308 233,307 234,306 236,305 237,304 239,303 241,302 │
23:19:33 #9471 [Debug] > │ 242,301 244,300 245,299 247,298 248,297 250,295 252,294 253,293 255,292 │
23:19:33 #9472 [Debug] > │ 256,291 258,290 260,289 261,288 263,287 264,286 266,285 268,284 269,283 │
23:19:33 #9473 [Debug] > │ 271,282 272,281 274,280 275,279 277,278 279,277 280,276 282,275 283,274 │
23:19:33 #9474 [Debug] > │ 285,272 287,271 288,270 290,269 291,268 293,267 294,266 296,265 298,264 │
23:19:33 #9475 [Debug] > │ 299,263 301,262 302,261 304,260 306,259 307,258 309,257 310,256 312,255 │
23:19:33 #9476 [Debug] > │ 313,254 315,253 317,252 318,251 320,249 321,248 323,247 325,246 326,245 │
23:19:33 #9477 [Debug] > │ 328,244 329,243 331,242 332,241 334,240 336,239 337,238 339,237 340,236 │
23:19:33 #9478 [Debug] > │ 342,235 344,234 345,233 347,232 348,231 350,230 351,229 353,228 355,226 │
23:19:33 #9479 [Debug] > │ 356,225 358,224 359,223 361,222 363,221 364,220 366,219 367,218 369,217 │
23:19:33 #9480 [Debug] > │ 370,216 372,215 374,214 375,213 377,212 378,211 380,210 382,209 383,208 │
23:19:33 #9481 [Debug] > │ 385,207 386,206 388,205 390,203 391,202 393,201 394,200 396,199 397,198 │
23:19:33 #9482 [Debug] > │ 399,197 401,196 402,195 404,194 405,193 407,192 409,191 410,190 412,189 │
23:19:33 #9483 [Debug] > │ 413,188 415,187 416,186 418,185 420,184 421,183 423,182 424,180 426,179 │
23:19:33 #9484 [Debug] > │ 428,178 429,177 431,176 432,175 434,174 435,173 437,172 439,171 440,170 │
23:19:33 #9485 [Debug] > │ 442,169 443,168 445,167 447,166 448,165 450,164 451,163 453,162 454,161 │
23:19:33 #9486 [Debug] > │ 456,160 458,159 459,157 461,156 462,155 464,154 466,153 467,152 469,151 │
23:19:33 #9487 [Debug] > │ 470,150 472,149 473,148 475,147 477,146 478,145 480,144 481,143 483,142 │
23:19:33 #9488 [Debug] > │ 485,141 486,140 488,139 489,138 491,137 492,136 494,135 496,133 497,132 │
23:19:33 #9489 [Debug] > │ 499,131 500,130 502,129 504,128 505,127 507,126 508,125 510,124 511,123 │
23:19:33 #9490 [Debug] > │ 513,122 515,121 516,120 518,119 519,118 521,117 523,116 524,115 526,114 │
23:19:33 #9491 [Debug] > │ 527,113 529,112 531,110 532,109 534,108 535,107 537,106 538,105 540,104 │
23:19:33 #9492 [Debug] > │ 542,103 543,102 545,101 546,100 548,99 550,98 551,97 553,96 554,95 556,94 │
23:19:33 #9493 [Debug] > │ 557,93 559,92 561,91 562,90 564,89 565,87 567,86 569,85 "/> │
23:19:33 #9494 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:33 #9495 [Debug] > │ points="69,415 71,414 73,413 74,411 76,410 77,409 79,408 81,407 82,406 │
23:19:33 #9496 [Debug] > │ 84,405 85,404 87,403 88,402 90,401 92,400 93,399 95,398 96,397 98,396 │
23:19:33 #9497 [Debug] > │ 100,395 101,394 103,393 104,392 106,391 107,390 109,389 111,388 112,387 │
23:19:33 #9498 [Debug] > │ 114,385 115,384 117,383 119,382 120,381 122,380 123,379 125,378 127,377 │
23:19:33 #9499 [Debug] > │ 128,376 130,375 131,374 133,373 134,372 136,371 138,370 139,369 141,368 │
23:19:33 #9500 [Debug] > │ 142,367 144,366 146,365 147,364 149,363 150,362 152,361 153,360 155,359 │
23:19:33 #9501 [Debug] > │ 157,358 158,357 160,356 161,355 163,354 165,353 166,352 168,351 169,350 │
23:19:33 #9502 [Debug] > │ 171,349 172,348 174,347 176,346 177,345 179,344 180,343 182,342 184,341 │
23:19:33 #9503 [Debug] > │ 185,340 187,340 188,339 190,338 191,337 193,336 195,335 196,334 198,333 │
23:19:33 #9504 [Debug] > │ 199,332 201,331 203,330 204,329 206,328 207,327 209,326 210,325 212,325 │
23:19:33 #9505 [Debug] > │ 214,324 215,323 217,322 218,321 220,320 222,319 223,318 225,317 226,316 │
23:19:33 #9506 [Debug] > │ 228,315 229,315 231,314 233,313 234,312 236,311 237,310 239,309 241,308 │
23:19:33 #9507 [Debug] > │ 242,308 244,307 245,306 247,305 248,304 250,303 252,302 253,302 255,301 │
23:19:33 #9508 [Debug] > │ 256,300 258,299 260,298 261,297 263,297 264,296 266,295 268,294 269,293 │
23:19:33 #9509 [Debug] > │ 271,292 272,292 274,291 275,290 277,289 279,288 280,288 282,287 283,286 │
23:19:33 #9510 [Debug] > │ 285,285 287,284 288,284 290,283 291,282 293,281 294,280 296,280 298,279 │
23:19:33 #9511 [Debug] > │ 299,278 301,277 302,277 304,276 306,275 307,274 309,274 310,273 312,272 │
23:19:33 #9512 [Debug] > │ 313,271 315,271 317,270 318,269 320,269 321,268 323,267 325,266 326,266 │
23:19:33 #9513 [Debug] > │ 328,265 329,264 331,264 332,263 334,262 336,261 337,261 339,260 340,259 │
23:19:33 #9514 [Debug] > │ 342,259 344,258 345,257 347,257 348,256 350,255 351,255 353,254 355,253 │
23:19:33 #9515 [Debug] > │ 356,253 358,252 359,251 361,251 363,250 364,249 366,249 367,248 369,248 │
23:19:33 #9516 [Debug] > │ 370,247 372,246 374,246 375,245 377,244 378,244 380,243 382,243 383,242 │
23:19:33 #9517 [Debug] > │ 385,241 386,241 388,240 390,240 391,239 393,238 394,238 396,237 397,237 │
23:19:33 #9518 [Debug] > │ 399,236 401,235 402,235 404,234 405,234 407,233 409,233 410,232 412,231 │
23:19:33 #9519 [Debug] > │ 413,231 415,230 416,230 418,229 420,229 421,228 423,228 424,227 426,227 │
23:19:33 #9520 [Debug] > │ 428,226 429,225 431,225 432,224 434,224 435,223 437,223 439,222 440,222 │
23:19:33 #9521 [Debug] > │ 442,221 443,221 445,220 447,220 448,219 450,219 451,218 453,218 454,217 │
23:19:33 #9522 [Debug] > │ 456,217 458,216 459,216 461,215 462,215 464,214 466,214 467,213 469,213 │
23:19:33 #9523 [Debug] > │ 470,213 472,212 473,212 475,211 477,211 478,210 480,210 481,209 483,209 │
23:19:33 #9524 [Debug] > │ 485,208 486,208 488,208 489,207 491,207 492,206 494,206 496,205 497,205 │
23:19:33 #9525 [Debug] > │ 499,204 500,204 502,204 504,203 505,203 507,202 508,202 510,202 511,201 │
23:19:33 #9526 [Debug] > │ 513,201 515,200 516,200 518,200 519,199 521,199 523,198 524,198 526,198 │
23:19:33 #9527 [Debug] > │ 527,197 529,197 531,196 532,196 534,196 535,195 537,195 538,194 540,194 │
23:19:33 #9528 [Debug] > │ 542,194 543,193 545,193 546,193 548,192 550,192 551,192 553,191 554,191 │
23:19:33 #9529 [Debug] > │ 556,190 557,190 559,190 561,189 562,189 564,189 565,188 567,188 569,188 "/> │
23:19:33 #9530 [Debug] > │ <rect x="464" y="227" width="116" height="45" opacity="1" fill="none" │
23:19:33 #9531 [Debug] > │ stroke="#FFFFFF"/> │
23:19:33 #9532 [Debug] > │ <text x="504" y="237" dy="0.76em" text-anchor="start" │
23:19:33 #9533 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9534 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9535 [Debug] > │ newtonian │
23:19:33 #9536 [Debug] > │ </text> │
23:19:33 #9537 [Debug] > │ <text x="504" y="252" dy="0.76em" text-anchor="start" │
23:19:33 #9538 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:33 #9539 [Debug] > │ fill="#FFFFFF"> │
23:19:33 #9540 [Debug] > │ relativistic │
23:19:33 #9541 [Debug] > │ </text> │
23:19:33 #9542 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:33 #9543 [Debug] > │ points="474,242 494,242 "/> │
23:19:33 #9544 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:33 #9545 [Debug] > │ points="474,257 494,257 "/> │
23:19:33 #9546 [Debug] > │ </svg> │
23:19:33 #9547 [Debug] > │ │
23:19:33 #9548 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:33 #9549 [Debug] >
23:19:33 #9550 [Debug] > ╭─[ 1.47s - stdout ]───────────────────────────────────────────────────────────╮
23:19:33 #9551 [Debug] > │ type UH0 = │
23:19:33 #9552 [Debug] > │ | UH0_0 of float * float * float * float * float * float * float * float │
23:19:33 #9553 [Debug] > │ * float * UH0 │
23:19:33 #9554 [Debug] > │ | UH0_1 │
23:19:33 #9555 [Debug] > │ and UH1 = │
23:19:33 #9556 [Debug] > │ | UH1_0 of float * float * UH1 │
23:19:33 #9557 [Debug] > │ | UH1_1 │
23:19:33 #9558 [Debug] > │ and UH2 = │
23:19:33 #9559 [Debug] > │ | UH2_0 of float * UH2 │
23:19:33 #9560 [Debug] > │ | UH2_1 │
23:19:33 #9561 [Debug] > │ let rec closure1 (v0 : (struct (float * float * float * float * float * │
23:19:33 #9562 [Debug] > │ float * float * float * float) -> struct (float * float * float * float * │
23:19:33 #9563 [Debug] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3 │
23:19:33 #9564 [Debug] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : │
23:19:33 #9565 [Debug] > │ float) : struct (float * float * float * float * float * float * float * │
23:19:33 #9566 [Debug] > │ float * float) = │
23:19:33 #9567 [Debug] > │ let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 : │
23:19:33 #9568 [Debug] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1, │
23:19:33 #9569 [Debug] > │ v2, v3, v4, v5, v6, v7, v8, v9) │
23:19:33 #9570 [Debug] > │ let v19 : float = v15 * 50000.0 │
23:19:33 #9571 [Debug] > │ let v20 : float = v6 + v19 │
23:19:33 #9572 [Debug] > │ let v21 : float = 50000.0 * v12 │
23:19:33 #9573 [Debug] > │ let v22 : float = 50000.0 * v13 │
23:19:33 #9574 [Debug] > │ let v23 : float = 50000.0 * v14 │
23:19:33 #9575 [Debug] > │ let v24 : float = v3 + v21 │
23:19:33 #9576 [Debug] > │ let v25 : float = v4 + v22 │
23:19:33 #9577 [Debug] > │ let v26 : float = v5 + v23 │
23:19:33 #9578 [Debug] > │ let v27 : float = 50000.0 * v16 │
23:19:33 #9579 [Debug] > │ let v28 : float = 50000.0 * v17 │
23:19:33 #9580 [Debug] > │ let v29 : float = 50000.0 * v18 │
23:19:33 #9581 [Debug] > │ let v30 : float = v7 + v27 │
23:19:33 #9582 [Debug] > │ let v31 : float = v8 + v28 │
23:19:33 #9583 [Debug] > │ let v32 : float = v9 + v29 │
23:19:33 #9584 [Debug] > │ let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 : │
23:19:33 #9585 [Debug] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1, │
23:19:33 #9586 [Debug] > │ v2, v24, v25, v26, v20, v30, v31, v32) │
23:19:33 #9587 [Debug] > │ let v42 : float = v38 * 50000.0 │
23:19:33 #9588 [Debug] > │ let v43 : float = v6 + v42 │
23:19:33 #9589 [Debug] > │ let v44 : float = 50000.0 * v35 │
23:19:33 #9590 [Debug] > │ let v45 : float = 50000.0 * v36 │
23:19:33 #9591 [Debug] > │ let v46 : float = 50000.0 * v37 │
23:19:33 #9592 [Debug] > │ let v47 : float = v3 + v44 │
23:19:33 #9593 [Debug] > │ let v48 : float = v4 + v45 │
23:19:33 #9594 [Debug] > │ let v49 : float = v5 + v46 │
23:19:33 #9595 [Debug] > │ let v50 : float = 50000.0 * v39 │
23:19:33 #9596 [Debug] > │ let v51 : float = 50000.0 * v40 │
23:19:33 #9597 [Debug] > │ let v52 : float = 50000.0 * v41 │
23:19:33 #9598 [Debug] > │ let v53 : float = v7 + v50 │
23:19:33 #9599 [Debug] > │ let v54 : float = v8 + v51 │
23:19:33 #9600 [Debug] > │ let v55 : float = v9 + v52 │
23:19:33 #9601 [Debug] > │ let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 : │
23:19:33 #9602 [Debug] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1, │
23:19:33 #9603 [Debug] > │ v2, v47, v48, v49, v43, v53, v54, v55) │
23:19:33 #9604 [Debug] > │ let v65 : float = v61 * 100000.0 │
23:19:33 #9605 [Debug] > │ let v66 : float = v6 + v65 │
23:19:33 #9606 [Debug] > │ let v67 : float = 100000.0 * v58 │
23:19:33 #9607 [Debug] > │ let v68 : float = 100000.0 * v59 │
23:19:33 #9608 [Debug] > │ let v69 : float = 100000.0 * v60 │
23:19:33 #9609 [Debug] > │ let v70 : float = v3 + v67 │
23:19:33 #9610 [Debug] > │ let v71 : float = v4 + v68 │
23:19:33 #9611 [Debug] > │ let v72 : float = v5 + v69 │
23:19:33 #9612 [Debug] > │ let v73 : float = 100000.0 * v62 │
23:19:33 #9613 [Debug] > │ let v74 : float = 100000.0 * v63 │
23:19:33 #9614 [Debug] > │ let v75 : float = 100000.0 * v64 │
23:19:33 #9615 [Debug] > │ let v76 : float = v7 + v73 │
23:19:33 #9616 [Debug] > │ let v77 : float = v8 + v74 │
23:19:33 #9617 [Debug] > │ let v78 : float = v9 + v75 │
23:19:33 #9618 [Debug] > │ let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 : │
23:19:33 #9619 [Debug] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1, │
23:19:33 #9620 [Debug] > │ v2, v70, v71, v72, v66, v76, v77, v78) │
23:19:33 #9621 [Debug] > │ let v88 : float = v10 + v33 │
23:19:33 #9622 [Debug] > │ let v89 : float = v11 + v34 │
23:19:33 #9623 [Debug] > │ let v90 : float = v15 + v38 │
23:19:33 #9624 [Debug] > │ let v91 : float = v12 + v35 │
23:19:33 #9625 [Debug] > │ let v92 : float = v13 + v36 │
23:19:33 #9626 [Debug] > │ let v93 : float = v14 + v37 │
23:19:33 #9627 [Debug] > │ let v94 : float = v16 + v39 │
23:19:33 #9628 [Debug] > │ let v95 : float = v17 + v40 │
23:19:33 #9629 [Debug] > │ let v96 : float = v18 + v41 │
23:19:33 #9630 [Debug] > │ let v97 : float = v88 + v33 │
23:19:33 #9631 [Debug] > │ let v98 : float = v89 + v34 │
23:19:33 #9632 [Debug] > │ let v99 : float = v90 + v38 │
23:19:33 #9633 [Debug] > │ let v100 : float = v91 + v35 │
23:19:33 #9634 [Debug] > │ let v101 : float = v92 + v36 │
23:19:33 #9635 [Debug] > │ let v102 : float = v93 + v37 │
23:19:33 #9636 [Debug] > │ let v103 : float = v94 + v39 │
23:19:33 #9637 [Debug] > │ let v104 : float = v95 + v40 │
23:19:33 #9638 [Debug] > │ let v105 : float = v96 + v41 │
23:19:33 #9639 [Debug] > │ let v106 : float = v97 + v56 │
23:19:33 #9640 [Debug] > │ let v107 : float = v98 + v57 │
23:19:33 #9641 [Debug] > │ let v108 : float = v99 + v61 │
23:19:33 #9642 [Debug] > │ let v109 : float = v100 + v58 │
23:19:33 #9643 [Debug] > │ let v110 : float = v101 + v59 │
23:19:33 #9644 [Debug] > │ let v111 : float = v102 + v60 │
23:19:33 #9645 [Debug] > │ let v112 : float = v103 + v62 │
23:19:33 #9646 [Debug] > │ let v113 : float = v104 + v63 │
23:19:33 #9647 [Debug] > │ let v114 : float = v105 + v64 │
23:19:33 #9648 [Debug] > │ let v115 : float = v106 + v56 │
23:19:33 #9649 [Debug] > │ let v116 : float = v107 + v57 │
23:19:33 #9650 [Debug] > │ let v117 : float = v108 + v61 │
23:19:33 #9651 [Debug] > │ let v118 : float = v109 + v58 │
23:19:33 #9652 [Debug] > │ let v119 : float = v110 + v59 │
23:19:33 #9653 [Debug] > │ let v120 : float = v111 + v60 │
23:19:33 #9654 [Debug] > │ let v121 : float = v112 + v62 │
23:19:33 #9655 [Debug] > │ let v122 : float = v113 + v63 │
23:19:33 #9656 [Debug] > │ let v123 : float = v114 + v64 │
23:19:33 #9657 [Debug] > │ let v124 : float = v115 + v79 │
23:19:33 #9658 [Debug] > │ let v125 : float = v116 + v80 │
23:19:33 #9659 [Debug] > │ let v126 : float = v117 + v84 │
23:19:33 #9660 [Debug] > │ let v127 : float = v118 + v81 │
23:19:33 #9661 [Debug] > │ let v128 : float = v119 + v82 │
23:19:33 #9662 [Debug] > │ let v129 : float = v120 + v83 │
23:19:33 #9663 [Debug] > │ let v130 : float = v121 + v85 │
23:19:33 #9664 [Debug] > │ let v131 : float = v122 + v86 │
23:19:33 #9665 [Debug] > │ let v132 : float = v123 + v87 │
23:19:33 #9666 [Debug] > │ let v133 : float = v126 * 16666.666666666668 │
23:19:33 #9667 [Debug] > │ let v134 : float = v6 + v133 │
23:19:33 #9668 [Debug] > │ let v135 : float = 16666.666666666668 * v127 │
23:19:33 #9669 [Debug] > │ let v136 : float = 16666.666666666668 * v128 │
23:19:33 #9670 [Debug] > │ let v137 : float = 16666.666666666668 * v129 │
23:19:33 #9671 [Debug] > │ let v138 : float = v3 + v135 │
23:19:33 #9672 [Debug] > │ let v139 : float = v4 + v136 │
23:19:33 #9673 [Debug] > │ let v140 : float = v5 + v137 │
23:19:33 #9674 [Debug] > │ let v141 : float = 16666.666666666668 * v130 │
23:19:33 #9675 [Debug] > │ let v142 : float = 16666.666666666668 * v131 │
23:19:33 #9676 [Debug] > │ let v143 : float = 16666.666666666668 * v132 │
23:19:33 #9677 [Debug] > │ let v144 : float = v7 + v141 │
23:19:33 #9678 [Debug] > │ let v145 : float = v8 + v142 │
23:19:33 #9679 [Debug] > │ let v146 : float = v9 + v143 │
23:19:33 #9680 [Debug] > │ struct (v1, v2, v138, v139, v140, v134, v144, v145, v146) │
23:19:33 #9681 [Debug] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │
23:19:33 #9682 [Debug] > │ * float * float * float) -> struct (float * float * float * float * float * │
23:19:33 #9683 [Debug] > │ float * float * float * float))) : (struct (float * float * float * float * │
23:19:33 #9684 [Debug] > │ float * float * float * float * float) -> struct (float * float * float * │
23:19:33 #9685 [Debug] > │ float * float * float * float * float * float)) = │
23:19:33 #9686 [Debug] > │ closure1(v0) │
23:19:33 #9687 [Debug] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
23:19:33 #9688 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
23:19:33 #9689 [Debug] > │ float * float * float * float * float * float * float * float) = │
23:19:33 #9690 [Debug] > │ let v9 : float = 10.0 / v1 │
23:19:33 #9691 [Debug] > │ let v10 : float = 0.0 / v1 │
23:19:33 #9692 [Debug] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v9, v10, v10) │
23:19:33 #9693 [Debug] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
23:19:33 #9694 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
23:19:33 #9695 [Debug] > │ float * float * float * float * float * float * float * float) = │
23:19:33 #9696 [Debug] > │ let v9 : float = v6 / 299792458.0 │
23:19:33 #9697 [Debug] > │ let v10 : float = v7 / 299792458.0 │
23:19:33 #9698 [Debug] > │ let v11 : float = v8 / 299792458.0 │
23:19:33 #9699 [Debug] > │ let v12 : float = v9 * v9 │
23:19:33 #9700 [Debug] > │ let v13 : float = v10 * v10 │
23:19:33 #9701 [Debug] > │ let v14 : float = v12 + v13 │
23:19:33 #9702 [Debug] > │ let v15 : float = v11 * v11 │
23:19:33 #9703 [Debug] > │ let v16 : float = v14 + v15 │
23:19:33 #9704 [Debug] > │ let v17 : float = 1.0 - v16 │
23:19:33 #9705 [Debug] > │ let v18 : float = sqrt v17 │
23:19:33 #9706 [Debug] > │ let v19 : float = 10.0 * v9 │
23:19:33 #9707 [Debug] > │ let v20 : float = 0.0 * v10 │
23:19:33 #9708 [Debug] > │ let v21 : float = v19 + v20 │
23:19:33 #9709 [Debug] > │ let v22 : float = 0.0 * v11 │
23:19:33 #9710 [Debug] > │ let v23 : float = v21 + v22 │
23:19:33 #9711 [Debug] > │ let v24 : float = v23 * v9 │
23:19:33 #9712 [Debug] > │ let v25 : float = v23 * v10 │
23:19:33 #9713 [Debug] > │ let v26 : float = v23 * v11 │
23:19:33 #9714 [Debug] > │ let v27 : float = -1.0 * v24 │
23:19:33 #9715 [Debug] > │ let v28 : float = -1.0 * v25 │
23:19:33 #9716 [Debug] > │ let v29 : float = -1.0 * v26 │
23:19:33 #9717 [Debug] > │ let v30 : float = 10.0 + v27 │
23:19:33 #9718 [Debug] > │ let v31 : float = v18 * v30 │
23:19:33 #9719 [Debug] > │ let v32 : float = v18 * v28 │
23:19:33 #9720 [Debug] > │ let v33 : float = v18 * v29 │
23:19:33 #9721 [Debug] > │ let v34 : float = v31 / v1 │
23:19:33 #9722 [Debug] > │ let v35 : float = v32 / v1 │
23:19:33 #9723 [Debug] > │ let v36 : float = v33 / v1 │
23:19:33 #9724 [Debug] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v34, v35, v36) │
23:19:33 #9725 [Debug] > │ and method2 (v0 : (struct (float * float * float * float * float * float * │
23:19:33 #9726 [Debug] > │ float * float * float) -> struct (float * float * float * float * float * │
23:19:33 #9727 [Debug] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 : │
23:19:33 #9728 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 : │
23:19:33 #9729 [Debug] > │ int32) : struct (float * float * float * float * float * float * float * │
23:19:33 #9730 [Debug] > │ float * float) = │
23:19:33 #9731 [Debug] > │ let v11 : bool = v10 <= 0 │
23:19:33 #9732 [Debug] > │ if v11 then │
23:19:33 #9733 [Debug] > │ struct (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
23:19:33 #9734 [Debug] > │ else │
23:19:33 #9735 [Debug] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 │
23:19:33 #9736 [Debug] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct │
23:19:33 #9737 [Debug] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
23:19:33 #9738 [Debug] > │ let v21 : int32 = v10 - 1 │
23:19:33 #9739 [Debug] > │ method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) │
23:19:33 #9740 [Debug] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:33 #9741 [Debug] > │ match v0 with │
23:19:33 #9742 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:33 #9743 [Debug] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
23:19:33 #9744 [Debug] > │ method3(v11, v12) │
23:19:33 #9745 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:33 #9746 [Debug] > │ v1 │
23:19:33 #9747 [Debug] > │ and method1 (v0 : (struct (float * float * float * float * float * float * │
23:19:33 #9748 [Debug] > │ float * float * float) -> struct (float * float * float * float * float * │
23:19:33 #9749 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
23:19:33 #9750 [Debug] > │ let v3 : float = 0.0 │
23:19:33 #9751 [Debug] > │ let v4 : float = 1.0 │
23:19:33 #9752 [Debug] > │ let v5 : float = 0.0 │
23:19:33 #9753 [Debug] > │ let v6 : float = 0.0 │
23:19:33 #9754 [Debug] > │ let v7 : float = 0.0 │
23:19:33 #9755 [Debug] > │ let v8 : float = 0.0 │
23:19:33 #9756 [Debug] > │ let v9 : float = 0.0 │
23:19:33 #9757 [Debug] > │ let v10 : float = 0.0 │
23:19:33 #9758 [Debug] > │ let v11 : float = 0.0 │
23:19:33 #9759 [Debug] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
23:19:33 #9760 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
23:19:33 #9761 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
23:19:33 #9762 [Debug] > │ let v21 : bool = v17 <= 31557600.0 │
23:19:33 #9763 [Debug] > │ if v21 then │
23:19:33 #9764 [Debug] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
23:19:33 #9765 [Debug] > │ v1) │
23:19:33 #9766 [Debug] > │ let v23 : int32 = v2 + 1 │
23:19:33 #9767 [Debug] > │ method1(v0, v22, v23) │
23:19:33 #9768 [Debug] > │ else │
23:19:33 #9769 [Debug] > │ let v25 : UH0 = UH0_1 │
23:19:33 #9770 [Debug] > │ method3(v1, v25) │
23:19:33 #9771 [Debug] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:33 #9772 [Debug] > │ match v0 with │
23:19:33 #9773 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:33 #9774 [Debug] > │ let v12 : UH1 = method4(v11, v1) │
23:19:33 #9775 [Debug] > │ let v13 : float = v7 / 31557600.0 │
23:19:33 #9776 [Debug] > │ let v14 : float = v8 / 299792458.0 │
23:19:33 #9777 [Debug] > │ UH1_0(v13, v14, v12) │
23:19:33 #9778 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:33 #9779 [Debug] > │ v1 │
23:19:33 #9780 [Debug] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) = │
23:19:33 #9781 [Debug] > │ match v0 with │
23:19:33 #9782 [Debug] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
23:19:33 #9783 [Debug] > │ let v6 : UH2 = UH2_0(v3, v1) │
23:19:33 #9784 [Debug] > │ let v7 : UH2 = UH2_0(v4, v2) │
23:19:33 #9785 [Debug] > │ method5(v5, v6, v7) │
23:19:33 #9786 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:33 #9787 [Debug] > │ struct (v1, v2) │
23:19:33 #9788 [Debug] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 = │
23:19:33 #9789 [Debug] > │ match v0 with │
23:19:33 #9790 [Debug] > │ | UH2_0(v2, v3) -> (* Cons *) │
23:19:33 #9791 [Debug] > │ let v4 : UH2 = UH2_0(v2, v1) │
23:19:33 #9792 [Debug] > │ method6(v3, v4) │
23:19:33 #9793 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:33 #9794 [Debug] > │ v1 │
23:19:33 #9795 [Debug] > │ and method7 (v0 : (struct (float * float * float * float * float * float * │
23:19:33 #9796 [Debug] > │ float * float * float) -> struct (float * float * float * float * float * │
23:19:33 #9797 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
23:19:33 #9798 [Debug] > │ let v3 : float = 0.0 │
23:19:33 #9799 [Debug] > │ let v4 : float = 1.0 │
23:19:33 #9800 [Debug] > │ let v5 : float = 0.0 │
23:19:33 #9801 [Debug] > │ let v6 : float = 0.0 │
23:19:33 #9802 [Debug] > │ let v7 : float = 0.0 │
23:19:33 #9803 [Debug] > │ let v8 : float = 0.0 │
23:19:33 #9804 [Debug] > │ let v9 : float = 0.0 │
23:19:33 #9805 [Debug] > │ let v10 : float = 0.0 │
23:19:33 #9806 [Debug] > │ let v11 : float = 0.0 │
23:19:33 #9807 [Debug] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
23:19:33 #9808 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
23:19:33 #9809 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
23:19:33 #9810 [Debug] > │ let v21 : bool = v17 <= 31557600.0 │
23:19:33 #9811 [Debug] > │ if v21 then │
23:19:33 #9812 [Debug] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
23:19:33 #9813 [Debug] > │ v1) │
23:19:33 #9814 [Debug] > │ let v23 : int32 = v2 + 1 │
23:19:33 #9815 [Debug] > │ method7(v0, v22, v23) │
23:19:33 #9816 [Debug] > │ else │
23:19:33 #9817 [Debug] > │ let v25 : UH0 = UH0_1 │
23:19:33 #9818 [Debug] > │ method3(v1, v25) │
23:19:33 #9819 [Debug] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:33 #9820 [Debug] > │ match v0 with │
23:19:33 #9821 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:33 #9822 [Debug] > │ let v12 : UH1 = method8(v11, v1) │
23:19:33 #9823 [Debug] > │ let v13 : float = v7 / 31557600.0 │
23:19:33 #9824 [Debug] > │ let v14 : float = v8 / 299792458.0 │
23:19:33 #9825 [Debug] > │ UH1_0(v13, v14, v12) │
23:19:33 #9826 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:33 #9827 [Debug] > │ v1 │
23:19:33 #9828 [Debug] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
23:19:33 #9829 [Debug] > │ match v0 with │
23:19:33 #9830 [Debug] > │ | UH2_0(v2, v3) -> (* Cons *) │
23:19:33 #9831 [Debug] > │ let v4 : int32 = v1 + 1 │
23:19:33 #9832 [Debug] > │ method10(v3, v4) │
23:19:33 #9833 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:33 #9834 [Debug] > │ v1 │
23:19:33 #9835 [Debug] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 = │
23:19:33 #9836 [Debug] > │ match v1 with │
23:19:33 #9837 [Debug] > │ | UH2_0(v3, v4) -> (* Cons *) │
23:19:33 #9838 [Debug] > │ v0.[int v2] <- v3 │
23:19:33 #9839 [Debug] > │ let v5 : int32 = v2 + 1 │
23:19:33 #9840 [Debug] > │ method11(v0, v4, v5) │
23:19:33 #9841 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:33 #9842 [Debug] > │ v2 │
23:19:33 #9843 [Debug] > │ and method9 (v0 : UH2) : (float []) = │
23:19:33 #9844 [Debug] > │ let v1 : int32 = 0 │
23:19:33 #9845 [Debug] > │ let v2 : int32 = method10(v0, v1) │
23:19:33 #9846 [Debug] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
23:19:33 #9847 [Debug] > │ let v4 : int32 = 0 │
23:19:33 #9848 [Debug] > │ let v5 : int32 = method11(v3, v0, v4) │
23:19:33 #9849 [Debug] > │ v3 │
23:19:33 #9850 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:33 #9851 [Debug] > │ []) * (float [])) [])) = │
23:19:33 #9852 [Debug] > │ let v0 : ((struct (float * float * float * float * float * float * float │
23:19:33 #9853 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:33 #9854 [Debug] > │ float * float * float)) -> (struct (float * float * float * float * float * │
23:19:33 #9855 [Debug] > │ float * float * float * float) -> struct (float * float * float * float * │
23:19:33 #9856 [Debug] > │ float * float * float * float * float))) = closure0() │
23:19:33 #9857 [Debug] > │ let v1 : (struct (float * float * float * float * float * float * float │
23:19:33 #9858 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:33 #9859 [Debug] > │ float * float * float)) = closure2() │
23:19:33 #9860 [Debug] > │ let v2 : (struct (float * float * float * float * float * float * float │
23:19:33 #9861 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:33 #9862 [Debug] > │ float * float * float)) = v0 v1 │
23:19:33 #9863 [Debug] > │ let v3 : (struct (float * float * float * float * float * float * float │
23:19:33 #9864 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:33 #9865 [Debug] > │ float * float * float)) = closure3() │
23:19:33 #9866 [Debug] > │ let v4 : (struct (float * float * float * float * float * float * float │
23:19:33 #9867 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:33 #9868 [Debug] > │ float * float * float)) = v0 v3 │
23:19:33 #9869 [Debug] > │ let v5 : UH0 = UH0_1 │
23:19:33 #9870 [Debug] > │ let v6 : int32 = 0 │
23:19:33 #9871 [Debug] > │ let v7 : UH0 = method1(v2, v5, v6) │
23:19:33 #9872 [Debug] > │ let v8 : UH1 = UH1_1 │
23:19:33 #9873 [Debug] > │ let v9 : UH1 = method4(v7, v8) │
23:19:33 #9874 [Debug] > │ let v10 : UH2 = UH2_1 │
23:19:33 #9875 [Debug] > │ let v11 : UH2 = UH2_1 │
23:19:33 #9876 [Debug] > │ let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11) │
23:19:33 #9877 [Debug] > │ let v14 : UH2 = UH2_1 │
23:19:33 #9878 [Debug] > │ let v15 : UH2 = method6(v12, v14) │
23:19:33 #9879 [Debug] > │ let v16 : UH2 = UH2_1 │
23:19:33 #9880 [Debug] > │ let v17 : UH2 = method6(v13, v16) │
23:19:33 #9881 [Debug] > │ let v18 : UH0 = UH0_1 │
23:19:33 #9882 [Debug] > │ let v19 : int32 = 0 │
23:19:33 #9883 [Debug] > │ let v20 : UH0 = method7(v4, v18, v19) │
23:19:33 #9884 [Debug] > │ let v21 : UH1 = UH1_1 │
23:19:33 #9885 [Debug] > │ let v22 : UH1 = method8(v20, v21) │
23:19:33 #9886 [Debug] > │ let v23 : UH2 = UH2_1 │
23:19:33 #9887 [Debug] > │ let v24 : UH2 = UH2_1 │
23:19:33 #9888 [Debug] > │ let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24) │
23:19:33 #9889 [Debug] > │ let v27 : UH2 = UH2_1 │
23:19:33 #9890 [Debug] > │ let v28 : UH2 = method6(v25, v27) │
23:19:33 #9891 [Debug] > │ let v29 : UH2 = UH2_1 │
23:19:33 #9892 [Debug] > │ let v30 : UH2 = method6(v26, v29) │
23:19:33 #9893 [Debug] > │ let v31 : (float []) = method9(v15) │
23:19:33 #9894 [Debug] > │ let v32 : (float []) = method9(v17) │
23:19:33 #9895 [Debug] > │ let v33 : (float []) = method9(v30) │
23:19:33 #9896 [Debug] > │ let v34 : string = "newtonian" │
23:19:33 #9897 [Debug] > │ let v35 : string = "relativistic" │
23:19:33 #9898 [Debug] > │ let v36 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:33 #9899 [Debug] > │ (v34, v31, v32); struct (v35, v31, v33)|] │
23:19:33 #9900 [Debug] > │ let v37 : string = "response to a constant force" │
23:19:33 #9901 [Debug] > │ let v38 : string = "time (years)" │
23:19:33 #9902 [Debug] > │ let v39 : string = "velocity (multiples of c)" │
23:19:33 #9903 [Debug] > │ struct (v37, v38, v39, v36) │
23:19:33 #9904 [Debug] > │ method0() │
23:19:33 #9905 [Debug] > │ │
23:19:33 #9906 [Debug] > │ │
23:19:33 #9907 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:33 #9908 [Debug] >
23:19:33 #9909 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:33 #9910 [Debug] > inl uniform_lorentz_force v_e v_b (st : particle_state) =
23:19:33 #9911 [Debug] > st.charge *^ (v_e ^+^ st.velocity >< v_b)
23:19:33 #9912 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3338-3826-34ef54b86419\main.spi
23:19:33 #9913 [Debug] >
23:19:33 #9914 [Debug] > ╭─[ 199.53ms - stdout ]────────────────────────────────────────────────────────╮
23:19:33 #9915 [Debug] > │ () │
23:19:33 #9916 [Debug] > │ │
23:19:33 #9917 [Debug] > │ │
23:19:33 #9918 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:33 #9919 [Debug] >
23:19:33 #9920 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:33 #9921 [Debug] > // // test
23:19:33 #9922 [Debug] >
23:19:33 #9923 [Debug] > inl c : f64 = 299792458
23:19:33 #9924 [Debug] > inl ~method = runge_kutta_4 0.000000001
23:19:33 #9925 [Debug] > inl forces = [[ uniform_lorentz_force (zero_vec ()) (k_hat ()) ]]
23:19:33 #9926 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:33 #9927 [Debug] > inl initial_state =
23:19:33 #9928 [Debug] > particle_state { default_particle_state' with
23:19:33 #9929 [Debug] > mass = 0.000000000000000000000000001672621898
23:19:33 #9930 [Debug] > charge = 0.0000000000000000001602176621
23:19:33 #9931 [Debug] > velocity = 0.8 *^ (c *^ j_hat ())
23:19:33 #9932 [Debug] > }
23:19:33 #9933 [Debug] >
23:19:33 #9934 [Debug] > inl newton_states = solver_ method (newton_second_ps forces) initial_state
23:19:33 #9935 [Debug] > inl relativity_states = solver_ method (relativity_ps forces) initial_state
23:19:33 #9936 [Debug] >
23:19:33 #9937 [Debug] > inl newton_x, newton_y =
23:19:33 #9938 [Debug] > newton_states
23:19:33 #9939 [Debug] > >> Some
23:19:33 #9940 [Debug] > |> seq.take_while_ (fun (particle_state st) i => i < 100i32)
23:19:33 #9941 [Debug] > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
23:19:33 #9942 [Debug] > |> listm'.unzip
23:19:33 #9943 [Debug] >
23:19:33 #9944 [Debug] > inl relativity_x, relativity_y =
23:19:33 #9945 [Debug] > relativity_states
23:19:33 #9946 [Debug] > >> Some
23:19:33 #9947 [Debug] > |> seq.take_while_ (fun (particle_state st) i => i < 165i32)
23:19:33 #9948 [Debug] > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y)
23:19:33 #9949 [Debug] > |> listm'.unzip
23:19:33 #9950 [Debug] >
23:19:33 #9951 [Debug] > inl newton_x : a i32 _ = newton_x |> listm.toArray
23:19:33 #9952 [Debug] > inl newton_y : a i32 _ = newton_y |> listm.toArray
23:19:33 #9953 [Debug] >
23:19:33 #9954 [Debug] > inl relativity_x : a i32 _ = relativity_x |> listm.toArray
23:19:33 #9955 [Debug] > inl relativity_y : a i32 _ = relativity_y |> listm.toArray
23:19:33 #9956 [Debug] >
23:19:33 #9957 [Debug] > "proton in a 1-t magnetic field",
23:19:33 #9958 [Debug] > "x (m)",
23:19:33 #9959 [Debug] > "y (m)",
23:19:33 #9960 [Debug] > ;[[
23:19:33 #9961 [Debug] > "newtonian", newton_x, newton_y
23:19:33 #9962 [Debug] > "relativistic", relativity_x, relativity_y
23:19:33 #9963 [Debug] > ]]
23:19:33 #9964 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3358-5810-521d04aafc04\main.spi
23:19:34 #9965 [Debug] >
23:19:34 #9966 [Debug] > ╭─[ 545.73ms - return value ]──────────────────────────────────────────────────╮
23:19:34 #9967 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:34 #9968 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:34 #9969 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:34 #9970 [Debug] > │ stroke="none"/> │
23:19:34 #9971 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:34 #9972 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #9973 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #9974 [Debug] > │ proton in a 1-t magnetic field │
23:19:34 #9975 [Debug] > │ </text> │
23:19:34 #9976 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="58" y1="424" x2="58" │
23:19:34 #9977 [Debug] > │ y2="75"/> │
23:19:34 #9978 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:34 #9979 [Debug] > │ y2="75"/> │
23:19:34 #9980 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="81" y1="424" x2="81" │
23:19:34 #9981 [Debug] > │ y2="75"/> │
23:19:34 #9982 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
23:19:34 #9983 [Debug] > │ y2="75"/> │
23:19:34 #9984 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424" │
23:19:34 #9985 [Debug] > │ x2="105" y2="75"/> │
23:19:34 #9986 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="117" y1="424" │
23:19:34 #9987 [Debug] > │ x2="117" y2="75"/> │
23:19:34 #9988 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:34 #9989 [Debug] > │ x2="129" y2="75"/> │
23:19:34 #9990 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424" │
23:19:34 #9991 [Debug] > │ x2="141" y2="75"/> │
23:19:34 #9992 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │
23:19:34 #9993 [Debug] > │ x2="153" y2="75"/> │
23:19:34 #9994 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="165" y1="424" │
23:19:34 #9995 [Debug] > │ x2="165" y2="75"/> │
23:19:34 #9996 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424" │
23:19:34 #9997 [Debug] > │ x2="177" y2="75"/> │
23:19:34 #9998 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:34 #9999 [Debug] > │ x2="189" y2="75"/> │
23:19:34 #10000 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="201" y1="424" │
23:19:34 #10001 [Debug] > │ x2="201" y2="75"/> │
23:19:34 #10002 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="213" y1="424" │
23:19:34 #10003 [Debug] > │ x2="213" y2="75"/> │
23:19:34 #10004 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="225" y1="424" │
23:19:34 #10005 [Debug] > │ x2="225" y2="75"/> │
23:19:34 #10006 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="237" y1="424" │
23:19:34 #10007 [Debug] > │ x2="237" y2="75"/> │
23:19:34 #10008 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:34 #10009 [Debug] > │ x2="249" y2="75"/> │
23:19:34 #10010 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:34 #10011 [Debug] > │ x2="261" y2="75"/> │
23:19:34 #10012 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="273" y1="424" │
23:19:34 #10013 [Debug] > │ x2="273" y2="75"/> │
23:19:34 #10014 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="285" y1="424" │
23:19:34 #10015 [Debug] > │ x2="285" y2="75"/> │
23:19:34 #10016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="297" y1="424" │
23:19:34 #10017 [Debug] > │ x2="297" y2="75"/> │
23:19:34 #10018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:34 #10019 [Debug] > │ x2="309" y2="75"/> │
23:19:34 #10020 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="321" y1="424" │
23:19:34 #10021 [Debug] > │ x2="321" y2="75"/> │
23:19:34 #10022 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="333" y1="424" │
23:19:34 #10023 [Debug] > │ x2="333" y2="75"/> │
23:19:34 #10024 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="345" y1="424" │
23:19:34 #10025 [Debug] > │ x2="345" y2="75"/> │
23:19:34 #10026 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="356" y1="424" │
23:19:34 #10027 [Debug] > │ x2="356" y2="75"/> │
23:19:34 #10028 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="368" y1="424" │
23:19:34 #10029 [Debug] > │ x2="368" y2="75"/> │
23:19:34 #10030 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="380" y1="424" │
23:19:34 #10031 [Debug] > │ x2="380" y2="75"/> │
23:19:34 #10032 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="392" y1="424" │
23:19:34 #10033 [Debug] > │ x2="392" y2="75"/> │
23:19:34 #10034 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="404" y1="424" │
23:19:34 #10035 [Debug] > │ x2="404" y2="75"/> │
23:19:34 #10036 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="416" y1="424" │
23:19:34 #10037 [Debug] > │ x2="416" y2="75"/> │
23:19:34 #10038 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="428" y1="424" │
23:19:34 #10039 [Debug] > │ x2="428" y2="75"/> │
23:19:34 #10040 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="440" y1="424" │
23:19:34 #10041 [Debug] > │ x2="440" y2="75"/> │
23:19:34 #10042 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="452" y1="424" │
23:19:34 #10043 [Debug] > │ x2="452" y2="75"/> │
23:19:34 #10044 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="464" y1="424" │
23:19:34 #10045 [Debug] > │ x2="464" y2="75"/> │
23:19:34 #10046 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424" │
23:19:34 #10047 [Debug] > │ x2="476" y2="75"/> │
23:19:34 #10048 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="488" y1="424" │
23:19:34 #10049 [Debug] > │ x2="488" y2="75"/> │
23:19:34 #10050 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="500" y1="424" │
23:19:34 #10051 [Debug] > │ x2="500" y2="75"/> │
23:19:34 #10052 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="512" y1="424" │
23:19:34 #10053 [Debug] > │ x2="512" y2="75"/> │
23:19:34 #10054 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="524" y1="424" │
23:19:34 #10055 [Debug] > │ x2="524" y2="75"/> │
23:19:34 #10056 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="536" y1="424" │
23:19:34 #10057 [Debug] > │ x2="536" y2="75"/> │
23:19:34 #10058 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="548" y1="424" │
23:19:34 #10059 [Debug] > │ x2="548" y2="75"/> │
23:19:34 #10060 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="560" y1="424" │
23:19:34 #10061 [Debug] > │ x2="560" y2="75"/> │
23:19:34 #10062 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="408" │
23:19:34 #10063 [Debug] > │ x2="584" y2="408"/> │
23:19:34 #10064 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="388" │
23:19:34 #10065 [Debug] > │ x2="584" y2="388"/> │
23:19:34 #10066 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368" │
23:19:34 #10067 [Debug] > │ x2="584" y2="368"/> │
23:19:34 #10068 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349" │
23:19:34 #10069 [Debug] > │ x2="584" y2="349"/> │
23:19:34 #10070 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="329" │
23:19:34 #10071 [Debug] > │ x2="584" y2="329"/> │
23:19:34 #10072 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="309" │
23:19:34 #10073 [Debug] > │ x2="584" y2="309"/> │
23:19:34 #10074 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="289" │
23:19:34 #10075 [Debug] > │ x2="584" y2="289"/> │
23:19:34 #10076 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="270" │
23:19:34 #10077 [Debug] > │ x2="584" y2="270"/> │
23:19:34 #10078 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:34 #10079 [Debug] > │ x2="584" y2="250"/> │
23:19:34 #10080 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="230" │
23:19:34 #10081 [Debug] > │ x2="584" y2="230"/> │
23:19:34 #10082 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="211" │
23:19:34 #10083 [Debug] > │ x2="584" y2="211"/> │
23:19:34 #10084 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="191" │
23:19:34 #10085 [Debug] > │ x2="584" y2="191"/> │
23:19:34 #10086 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="171" │
23:19:34 #10087 [Debug] > │ x2="584" y2="171"/> │
23:19:34 #10088 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151" │
23:19:34 #10089 [Debug] > │ x2="584" y2="151"/> │
23:19:34 #10090 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="132" │
23:19:34 #10091 [Debug] > │ x2="584" y2="132"/> │
23:19:34 #10092 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="112" │
23:19:34 #10093 [Debug] > │ x2="584" y2="112"/> │
23:19:34 #10094 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="92" x2="584" │
23:19:34 #10095 [Debug] > │ y2="92"/> │
23:19:34 #10096 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:34 #10097 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10098 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10099 [Debug] > │ x (m) │
23:19:34 #10100 [Debug] > │ </text> │
23:19:34 #10101 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:34 #10102 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10103 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:34 #10104 [Debug] > │ y (m) │
23:19:34 #10105 [Debug] > │ </text> │
23:19:34 #10106 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10107 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10108 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10109 [Debug] > │ x (m) │
23:19:34 #10110 [Debug] > │ </text> │
23:19:34 #10111 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:34 #10112 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10113 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:34 #10114 [Debug] > │ y (m) │
23:19:34 #10115 [Debug] > │ </text> │
23:19:34 #10116 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:34 #10117 [Debug] > │ y2="75"/> │
23:19:34 #10118 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:34 #10119 [Debug] > │ y2="75"/> │
23:19:34 #10120 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="129" y1="424" │
23:19:34 #10121 [Debug] > │ x2="129" y2="75"/> │
23:19:34 #10122 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="159" y1="424" │
23:19:34 #10123 [Debug] > │ x2="159" y2="75"/> │
23:19:34 #10124 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="189" y1="424" │
23:19:34 #10125 [Debug] > │ x2="189" y2="75"/> │
23:19:34 #10126 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:34 #10127 [Debug] > │ x2="219" y2="75"/> │
23:19:34 #10128 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="249" y1="424" │
23:19:34 #10129 [Debug] > │ x2="249" y2="75"/> │
23:19:34 #10130 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="279" y1="424" │
23:19:34 #10131 [Debug] > │ x2="279" y2="75"/> │
23:19:34 #10132 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="309" y1="424" │
23:19:34 #10133 [Debug] > │ x2="309" y2="75"/> │
23:19:34 #10134 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="339" y1="424" │
23:19:34 #10135 [Debug] > │ x2="339" y2="75"/> │
23:19:34 #10136 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="368" y1="424" │
23:19:34 #10137 [Debug] > │ x2="368" y2="75"/> │
23:19:34 #10138 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="398" y1="424" │
23:19:34 #10139 [Debug] > │ x2="398" y2="75"/> │
23:19:34 #10140 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="428" y1="424" │
23:19:34 #10141 [Debug] > │ x2="428" y2="75"/> │
23:19:34 #10142 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="458" y1="424" │
23:19:34 #10143 [Debug] > │ x2="458" y2="75"/> │
23:19:34 #10144 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="488" y1="424" │
23:19:34 #10145 [Debug] > │ x2="488" y2="75"/> │
23:19:34 #10146 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="518" y1="424" │
23:19:34 #10147 [Debug] > │ x2="518" y2="75"/> │
23:19:34 #10148 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="548" y1="424" │
23:19:34 #10149 [Debug] > │ x2="548" y2="75"/> │
23:19:34 #10150 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="578" y1="424" │
23:19:34 #10151 [Debug] > │ x2="578" y2="75"/> │
23:19:34 #10152 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="408" │
23:19:34 #10153 [Debug] > │ x2="584" y2="408"/> │
23:19:34 #10154 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="368" │
23:19:34 #10155 [Debug] > │ x2="584" y2="368"/> │
23:19:34 #10156 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="329" │
23:19:34 #10157 [Debug] > │ x2="584" y2="329"/> │
23:19:34 #10158 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="289" │
23:19:34 #10159 [Debug] > │ x2="584" y2="289"/> │
23:19:34 #10160 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250" │
23:19:34 #10161 [Debug] > │ x2="584" y2="250"/> │
23:19:34 #10162 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="211" │
23:19:34 #10163 [Debug] > │ x2="584" y2="211"/> │
23:19:34 #10164 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="171" │
23:19:34 #10165 [Debug] > │ x2="584" y2="171"/> │
23:19:34 #10166 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="132" │
23:19:34 #10167 [Debug] > │ x2="584" y2="132"/> │
23:19:34 #10168 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="92" x2="584" │
23:19:34 #10169 [Debug] > │ y2="92"/> │
23:19:34 #10170 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10171 [Debug] > │ points="55,74 584,74 "/> │
23:19:34 #10172 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10173 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10174 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10175 [Debug] > │ 0.0 │
23:19:34 #10176 [Debug] > │ </text> │
23:19:34 #10177 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10178 [Debug] > │ points="69,69 69,74 "/> │
23:19:34 #10179 [Debug] > │ <text x="99" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10180 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10181 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10182 [Debug] > │ 0.5 │
23:19:34 #10183 [Debug] > │ </text> │
23:19:34 #10184 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10185 [Debug] > │ points="99,69 99,74 "/> │
23:19:34 #10186 [Debug] > │ <text x="129" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10187 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10188 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10189 [Debug] > │ 1.0 │
23:19:34 #10190 [Debug] > │ </text> │
23:19:34 #10191 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10192 [Debug] > │ points="129,69 129,74 "/> │
23:19:34 #10193 [Debug] > │ <text x="159" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10194 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10195 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10196 [Debug] > │ 1.5 │
23:19:34 #10197 [Debug] > │ </text> │
23:19:34 #10198 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10199 [Debug] > │ points="159,69 159,74 "/> │
23:19:34 #10200 [Debug] > │ <text x="189" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10201 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10202 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10203 [Debug] > │ 2.0 │
23:19:34 #10204 [Debug] > │ </text> │
23:19:34 #10205 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10206 [Debug] > │ points="189,69 189,74 "/> │
23:19:34 #10207 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10208 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10209 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10210 [Debug] > │ 2.5 │
23:19:34 #10211 [Debug] > │ </text> │
23:19:34 #10212 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10213 [Debug] > │ points="219,69 219,74 "/> │
23:19:34 #10214 [Debug] > │ <text x="249" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10215 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10216 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10217 [Debug] > │ 3.0 │
23:19:34 #10218 [Debug] > │ </text> │
23:19:34 #10219 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10220 [Debug] > │ points="249,69 249,74 "/> │
23:19:34 #10221 [Debug] > │ <text x="279" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10222 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10223 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10224 [Debug] > │ 3.5 │
23:19:34 #10225 [Debug] > │ </text> │
23:19:34 #10226 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10227 [Debug] > │ points="279,69 279,74 "/> │
23:19:34 #10228 [Debug] > │ <text x="309" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10229 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10230 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10231 [Debug] > │ 4.0 │
23:19:34 #10232 [Debug] > │ </text> │
23:19:34 #10233 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10234 [Debug] > │ points="309,69 309,74 "/> │
23:19:34 #10235 [Debug] > │ <text x="339" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10236 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10237 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10238 [Debug] > │ 4.5 │
23:19:34 #10239 [Debug] > │ </text> │
23:19:34 #10240 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10241 [Debug] > │ points="339,69 339,74 "/> │
23:19:34 #10242 [Debug] > │ <text x="368" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10243 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10244 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10245 [Debug] > │ 5.0 │
23:19:34 #10246 [Debug] > │ </text> │
23:19:34 #10247 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10248 [Debug] > │ points="368,69 368,74 "/> │
23:19:34 #10249 [Debug] > │ <text x="398" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10250 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10251 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10252 [Debug] > │ 5.5 │
23:19:34 #10253 [Debug] > │ </text> │
23:19:34 #10254 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10255 [Debug] > │ points="398,69 398,74 "/> │
23:19:34 #10256 [Debug] > │ <text x="428" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10257 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10258 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10259 [Debug] > │ 6.0 │
23:19:34 #10260 [Debug] > │ </text> │
23:19:34 #10261 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10262 [Debug] > │ points="428,69 428,74 "/> │
23:19:34 #10263 [Debug] > │ <text x="458" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10264 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10265 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10266 [Debug] > │ 6.5 │
23:19:34 #10267 [Debug] > │ </text> │
23:19:34 #10268 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10269 [Debug] > │ points="458,69 458,74 "/> │
23:19:34 #10270 [Debug] > │ <text x="488" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10271 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10272 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10273 [Debug] > │ 7.0 │
23:19:34 #10274 [Debug] > │ </text> │
23:19:34 #10275 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10276 [Debug] > │ points="488,69 488,74 "/> │
23:19:34 #10277 [Debug] > │ <text x="518" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10278 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10279 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10280 [Debug] > │ 7.5 │
23:19:34 #10281 [Debug] > │ </text> │
23:19:34 #10282 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10283 [Debug] > │ points="518,69 518,74 "/> │
23:19:34 #10284 [Debug] > │ <text x="548" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10285 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10286 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10287 [Debug] > │ 8.0 │
23:19:34 #10288 [Debug] > │ </text> │
23:19:34 #10289 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10290 [Debug] > │ points="548,69 548,74 "/> │
23:19:34 #10291 [Debug] > │ <text x="578" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:34 #10292 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10293 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10294 [Debug] > │ 8.5 │
23:19:34 #10295 [Debug] > │ </text> │
23:19:34 #10296 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10297 [Debug] > │ points="578,69 578,74 "/> │
23:19:34 #10298 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10299 [Debug] > │ points="54,75 54,424 "/> │
23:19:34 #10300 [Debug] > │ <text x="45" y="408" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10301 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10302 [Debug] > │ -4.0 │
23:19:34 #10303 [Debug] > │ </text> │
23:19:34 #10304 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10305 [Debug] > │ points="49,408 54,408 "/> │
23:19:34 #10306 [Debug] > │ <text x="45" y="368" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10307 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10308 [Debug] > │ -3.0 │
23:19:34 #10309 [Debug] > │ </text> │
23:19:34 #10310 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10311 [Debug] > │ points="49,368 54,368 "/> │
23:19:34 #10312 [Debug] > │ <text x="45" y="329" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10313 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10314 [Debug] > │ -2.0 │
23:19:34 #10315 [Debug] > │ </text> │
23:19:34 #10316 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10317 [Debug] > │ points="49,329 54,329 "/> │
23:19:34 #10318 [Debug] > │ <text x="45" y="289" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10319 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10320 [Debug] > │ -1.0 │
23:19:34 #10321 [Debug] > │ </text> │
23:19:34 #10322 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10323 [Debug] > │ points="49,289 54,289 "/> │
23:19:34 #10324 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10325 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10326 [Debug] > │ 0.0 │
23:19:34 #10327 [Debug] > │ </text> │
23:19:34 #10328 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10329 [Debug] > │ points="49,250 54,250 "/> │
23:19:34 #10330 [Debug] > │ <text x="45" y="211" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10331 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10332 [Debug] > │ 1.0 │
23:19:34 #10333 [Debug] > │ </text> │
23:19:34 #10334 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10335 [Debug] > │ points="49,211 54,211 "/> │
23:19:34 #10336 [Debug] > │ <text x="45" y="171" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10337 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10338 [Debug] > │ 2.0 │
23:19:34 #10339 [Debug] > │ </text> │
23:19:34 #10340 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10341 [Debug] > │ points="49,171 54,171 "/> │
23:19:34 #10342 [Debug] > │ <text x="45" y="132" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10343 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10344 [Debug] > │ 3.0 │
23:19:34 #10345 [Debug] > │ </text> │
23:19:34 #10346 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10347 [Debug] > │ points="49,132 54,132 "/> │
23:19:34 #10348 [Debug] > │ <text x="45" y="92" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10349 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10350 [Debug] > │ 4.0 │
23:19:34 #10351 [Debug] > │ </text> │
23:19:34 #10352 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10353 [Debug] > │ points="49,92 54,92 "/> │
23:19:34 #10354 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10355 [Debug] > │ points="55,425 584,425 "/> │
23:19:34 #10356 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10357 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10358 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10359 [Debug] > │ 0.0 │
23:19:34 #10360 [Debug] > │ </text> │
23:19:34 #10361 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10362 [Debug] > │ points="69,425 69,430 "/> │
23:19:34 #10363 [Debug] > │ <text x="99" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10364 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10365 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10366 [Debug] > │ 0.5 │
23:19:34 #10367 [Debug] > │ </text> │
23:19:34 #10368 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10369 [Debug] > │ points="99,425 99,430 "/> │
23:19:34 #10370 [Debug] > │ <text x="129" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10371 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10372 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10373 [Debug] > │ 1.0 │
23:19:34 #10374 [Debug] > │ </text> │
23:19:34 #10375 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10376 [Debug] > │ points="129,425 129,430 "/> │
23:19:34 #10377 [Debug] > │ <text x="159" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10378 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10379 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10380 [Debug] > │ 1.5 │
23:19:34 #10381 [Debug] > │ </text> │
23:19:34 #10382 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10383 [Debug] > │ points="159,425 159,430 "/> │
23:19:34 #10384 [Debug] > │ <text x="189" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10385 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10386 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10387 [Debug] > │ 2.0 │
23:19:34 #10388 [Debug] > │ </text> │
23:19:34 #10389 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10390 [Debug] > │ points="189,425 189,430 "/> │
23:19:34 #10391 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10392 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10393 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10394 [Debug] > │ 2.5 │
23:19:34 #10395 [Debug] > │ </text> │
23:19:34 #10396 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10397 [Debug] > │ points="219,425 219,430 "/> │
23:19:34 #10398 [Debug] > │ <text x="249" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10399 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10400 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10401 [Debug] > │ 3.0 │
23:19:34 #10402 [Debug] > │ </text> │
23:19:34 #10403 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10404 [Debug] > │ points="249,425 249,430 "/> │
23:19:34 #10405 [Debug] > │ <text x="279" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10406 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10407 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10408 [Debug] > │ 3.5 │
23:19:34 #10409 [Debug] > │ </text> │
23:19:34 #10410 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10411 [Debug] > │ points="279,425 279,430 "/> │
23:19:34 #10412 [Debug] > │ <text x="309" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10413 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10414 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10415 [Debug] > │ 4.0 │
23:19:34 #10416 [Debug] > │ </text> │
23:19:34 #10417 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10418 [Debug] > │ points="309,425 309,430 "/> │
23:19:34 #10419 [Debug] > │ <text x="339" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10420 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10421 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10422 [Debug] > │ 4.5 │
23:19:34 #10423 [Debug] > │ </text> │
23:19:34 #10424 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10425 [Debug] > │ points="339,425 339,430 "/> │
23:19:34 #10426 [Debug] > │ <text x="368" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10427 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10428 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10429 [Debug] > │ 5.0 │
23:19:34 #10430 [Debug] > │ </text> │
23:19:34 #10431 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10432 [Debug] > │ points="368,425 368,430 "/> │
23:19:34 #10433 [Debug] > │ <text x="398" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10434 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10435 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10436 [Debug] > │ 5.5 │
23:19:34 #10437 [Debug] > │ </text> │
23:19:34 #10438 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10439 [Debug] > │ points="398,425 398,430 "/> │
23:19:34 #10440 [Debug] > │ <text x="428" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10441 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10442 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10443 [Debug] > │ 6.0 │
23:19:34 #10444 [Debug] > │ </text> │
23:19:34 #10445 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10446 [Debug] > │ points="428,425 428,430 "/> │
23:19:34 #10447 [Debug] > │ <text x="458" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10448 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10449 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10450 [Debug] > │ 6.5 │
23:19:34 #10451 [Debug] > │ </text> │
23:19:34 #10452 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10453 [Debug] > │ points="458,425 458,430 "/> │
23:19:34 #10454 [Debug] > │ <text x="488" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10455 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10456 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10457 [Debug] > │ 7.0 │
23:19:34 #10458 [Debug] > │ </text> │
23:19:34 #10459 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10460 [Debug] > │ points="488,425 488,430 "/> │
23:19:34 #10461 [Debug] > │ <text x="518" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10462 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10463 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10464 [Debug] > │ 7.5 │
23:19:34 #10465 [Debug] > │ </text> │
23:19:34 #10466 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10467 [Debug] > │ points="518,425 518,430 "/> │
23:19:34 #10468 [Debug] > │ <text x="548" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10469 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10470 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10471 [Debug] > │ 8.0 │
23:19:34 #10472 [Debug] > │ </text> │
23:19:34 #10473 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10474 [Debug] > │ points="548,425 548,430 "/> │
23:19:34 #10475 [Debug] > │ <text x="578" y="435" dy="0.76em" text-anchor="middle" │
23:19:34 #10476 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10477 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10478 [Debug] > │ 8.5 │
23:19:34 #10479 [Debug] > │ </text> │
23:19:34 #10480 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10481 [Debug] > │ points="578,425 578,430 "/> │
23:19:34 #10482 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10483 [Debug] > │ points="585,75 585,424 "/> │
23:19:34 #10484 [Debug] > │ <text x="595" y="408" dy="0.5ex" text-anchor="start" │
23:19:34 #10485 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10486 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10487 [Debug] > │ -4.0 │
23:19:34 #10488 [Debug] > │ </text> │
23:19:34 #10489 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10490 [Debug] > │ points="585,408 590,408 "/> │
23:19:34 #10491 [Debug] > │ <text x="595" y="368" dy="0.5ex" text-anchor="start" │
23:19:34 #10492 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10493 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10494 [Debug] > │ -3.0 │
23:19:34 #10495 [Debug] > │ </text> │
23:19:34 #10496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10497 [Debug] > │ points="585,368 590,368 "/> │
23:19:34 #10498 [Debug] > │ <text x="595" y="329" dy="0.5ex" text-anchor="start" │
23:19:34 #10499 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10500 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10501 [Debug] > │ -2.0 │
23:19:34 #10502 [Debug] > │ </text> │
23:19:34 #10503 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10504 [Debug] > │ points="585,329 590,329 "/> │
23:19:34 #10505 [Debug] > │ <text x="595" y="289" dy="0.5ex" text-anchor="start" │
23:19:34 #10506 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10507 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10508 [Debug] > │ -1.0 │
23:19:34 #10509 [Debug] > │ </text> │
23:19:34 #10510 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10511 [Debug] > │ points="585,289 590,289 "/> │
23:19:34 #10512 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10513 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10514 [Debug] > │ 0.0 │
23:19:34 #10515 [Debug] > │ </text> │
23:19:34 #10516 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10517 [Debug] > │ points="585,250 590,250 "/> │
23:19:34 #10518 [Debug] > │ <text x="617" y="211" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10519 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10520 [Debug] > │ 1.0 │
23:19:34 #10521 [Debug] > │ </text> │
23:19:34 #10522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10523 [Debug] > │ points="585,211 590,211 "/> │
23:19:34 #10524 [Debug] > │ <text x="617" y="171" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10525 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10526 [Debug] > │ 2.0 │
23:19:34 #10527 [Debug] > │ </text> │
23:19:34 #10528 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10529 [Debug] > │ points="585,171 590,171 "/> │
23:19:34 #10530 [Debug] > │ <text x="617" y="132" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10531 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10532 [Debug] > │ 3.0 │
23:19:34 #10533 [Debug] > │ </text> │
23:19:34 #10534 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10535 [Debug] > │ points="585,132 590,132 "/> │
23:19:34 #10536 [Debug] > │ <text x="617" y="92" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:34 #10537 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:34 #10538 [Debug] > │ 4.0 │
23:19:34 #10539 [Debug] > │ </text> │
23:19:34 #10540 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:34 #10541 [Debug] > │ points="585,92 590,92 "/> │
23:19:34 #10542 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:34 #10543 [Debug] > │ points="69,250 70,241 72,231 76,222 80,213 86,204 94,196 102,189 111,181 │
23:19:34 #10544 [Debug] > │ 122,175 133,169 145,164 158,160 171,156 185,154 199,152 213,151 228,151 │
23:19:34 #10545 [Debug] > │ 242,152 256,154 270,157 283,161 296,165 308,170 319,176 329,183 338,190 │
23:19:34 #10546 [Debug] > │ 346,198 353,206 359,215 364,224 367,233 368,242 369,252 368,261 366,271 │
23:19:34 #10547 [Debug] > │ 362,280 357,289 351,297 343,305 335,313 325,320 314,326 303,332 291,337 │
23:19:34 #10548 [Debug] > │ 278,341 264,344 250,347 236,348 222,349 208,348 193,347 179,345 166,342 │
23:19:34 #10549 [Debug] > │ 153,338 140,334 128,329 117,322 107,316 98,308 90,300 84,292 78,283 74,274 │
23:19:34 #10550 [Debug] > │ 71,265 70,256 70,246 71,237 73,227 77,218 83,210 89,201 97,193 106,186 │
23:19:34 #10551 [Debug] > │ 115,179 126,173 138,167 150,162 163,158 177,155 191,153 205,152 219,151 │
23:19:34 #10552 [Debug] > │ 234,152 248,153 262,155 275,158 288,162 301,167 312,173 323,179 333,186 │
23:19:34 #10553 [Debug] > │ 342,193 349,201 356,210 361,218 365,228 368,237 369,246 369,256 "/> │
23:19:34 #10554 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:34 #10555 [Debug] > │ points="69,250 70,241 71,231 73,222 76,212 80,203 84,194 89,186 95,177 │
23:19:34 #10556 [Debug] > │ 102,169 110,160 118,153 127,145 136,138 146,131 157,125 168,119 179,114 │
23:19:34 #10557 [Debug] > │ 192,108 204,104 217,100 230,96 244,93 258,90 272,88 286,87 300,86 314,85 │
23:19:34 #10558 [Debug] > │ 329,85 343,86 357,87 371,89 385,91 399,94 412,97 425,101 438,105 451,110 │
23:19:34 #10559 [Debug] > │ 463,115 474,121 485,127 495,134 505,140 515,148 523,155 531,163 538,171 │
23:19:34 #10560 [Debug] > │ 545,180 550,188 555,197 560,206 563,216 566,225 567,234 568,244 568,253 │
23:19:34 #10561 [Debug] > │ 568,263 566,272 564,281 561,291 557,300 552,309 547,317 540,326 533,334 │
23:19:34 #10562 [Debug] > │ 526,342 517,350 508,357 499,364 488,371 478,377 466,383 455,388 442,393 │
23:19:34 #10563 [Debug] > │ 430,398 417,402 403,405 390,408 376,410 362,412 348,414 333,414 319,415 │
23:19:34 #10564 [Debug] > │ 305,414 290,414 276,412 262,410 248,408 235,405 221,401 208,397 196,393 │
23:19:34 #10565 [Debug] > │ 183,388 171,383 160,377 149,371 139,364 129,357 120,350 112,342 104,334 │
23:19:34 #10566 [Debug] > │ 97,326 91,317 86,309 81,300 77,290 74,281 72,272 70,263 70,253 70,244 71,234 │
23:19:34 #10567 [Debug] > │ 72,225 75,215 78,206 83,197 88,188 93,180 100,171 107,163 115,155 124,148 │
23:19:34 #10568 [Debug] > │ 133,140 143,133 153,127 164,121 176,115 188,110 200,105 213,101 226,97 │
23:19:34 #10569 [Debug] > │ 239,94 253,91 267,89 281,87 295,86 310,85 324,85 338,86 353,87 367,88 381,90 │
23:19:34 #10570 [Debug] > │ 394,93 408,96 421,100 434,104 447,109 459,114 470,119 482,125 492,131 │
23:19:34 #10571 [Debug] > │ 502,138 512,145 520,153 529,161 536,169 543,177 549,186 554,194 558,203 │
23:19:34 #10572 [Debug] > │ 562,213 565,222 567,231 568,241 569,250 "/> │
23:19:34 #10573 [Debug] > │ <rect x="464" y="227" width="116" height="45" opacity="1" fill="none" │
23:19:34 #10574 [Debug] > │ stroke="#FFFFFF"/> │
23:19:34 #10575 [Debug] > │ <text x="504" y="237" dy="0.76em" text-anchor="start" │
23:19:34 #10576 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10577 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10578 [Debug] > │ newtonian │
23:19:34 #10579 [Debug] > │ </text> │
23:19:34 #10580 [Debug] > │ <text x="504" y="252" dy="0.76em" text-anchor="start" │
23:19:34 #10581 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:34 #10582 [Debug] > │ fill="#FFFFFF"> │
23:19:34 #10583 [Debug] > │ relativistic │
23:19:34 #10584 [Debug] > │ </text> │
23:19:34 #10585 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:34 #10586 [Debug] > │ points="474,242 494,242 "/> │
23:19:34 #10587 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:34 #10588 [Debug] > │ points="474,257 494,257 "/> │
23:19:34 #10589 [Debug] > │ </svg> │
23:19:34 #10590 [Debug] > │ │
23:19:34 #10591 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:34 #10592 [Debug] >
23:19:34 #10593 [Debug] > ╭─[ 893.84ms - stdout ]────────────────────────────────────────────────────────╮
23:19:34 #10594 [Debug] > │ type UH0 = │
23:19:34 #10595 [Debug] > │ | UH0_0 of float * float * float * float * float * float * float * float │
23:19:34 #10596 [Debug] > │ * float * UH0 │
23:19:34 #10597 [Debug] > │ | UH0_1 │
23:19:34 #10598 [Debug] > │ and UH1 = │
23:19:34 #10599 [Debug] > │ | UH1_0 of float * float * UH1 │
23:19:34 #10600 [Debug] > │ | UH1_1 │
23:19:34 #10601 [Debug] > │ and UH2 = │
23:19:34 #10602 [Debug] > │ | UH2_0 of float * UH2 │
23:19:34 #10603 [Debug] > │ | UH2_1 │
23:19:34 #10604 [Debug] > │ let rec closure1 (v0 : (struct (float * float * float * float * float * │
23:19:34 #10605 [Debug] > │ float * float * float * float) -> struct (float * float * float * float * │
23:19:34 #10606 [Debug] > │ float * float * float * float * float))) struct (v1 : float, v2 : float, v3 │
23:19:34 #10607 [Debug] > │ : float, v4 : float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : │
23:19:34 #10608 [Debug] > │ float) : struct (float * float * float * float * float * float * float * │
23:19:34 #10609 [Debug] > │ float * float) = │
23:19:34 #10610 [Debug] > │ let struct (v10 : float, v11 : float, v12 : float, v13 : float, v14 : │
23:19:34 #10611 [Debug] > │ float, v15 : float, v16 : float, v17 : float, v18 : float) = v0 struct (v1, │
23:19:34 #10612 [Debug] > │ v2, v3, v4, v5, v6, v7, v8, v9) │
23:19:34 #10613 [Debug] > │ let v19 : float = v15 * 5E-10 │
23:19:34 #10614 [Debug] > │ let v20 : float = v6 + v19 │
23:19:34 #10615 [Debug] > │ let v21 : float = 5E-10 * v12 │
23:19:34 #10616 [Debug] > │ let v22 : float = 5E-10 * v13 │
23:19:34 #10617 [Debug] > │ let v23 : float = 5E-10 * v14 │
23:19:34 #10618 [Debug] > │ let v24 : float = v3 + v21 │
23:19:34 #10619 [Debug] > │ let v25 : float = v4 + v22 │
23:19:34 #10620 [Debug] > │ let v26 : float = v5 + v23 │
23:19:34 #10621 [Debug] > │ let v27 : float = 5E-10 * v16 │
23:19:34 #10622 [Debug] > │ let v28 : float = 5E-10 * v17 │
23:19:34 #10623 [Debug] > │ let v29 : float = 5E-10 * v18 │
23:19:34 #10624 [Debug] > │ let v30 : float = v7 + v27 │
23:19:34 #10625 [Debug] > │ let v31 : float = v8 + v28 │
23:19:34 #10626 [Debug] > │ let v32 : float = v9 + v29 │
23:19:34 #10627 [Debug] > │ let struct (v33 : float, v34 : float, v35 : float, v36 : float, v37 : │
23:19:34 #10628 [Debug] > │ float, v38 : float, v39 : float, v40 : float, v41 : float) = v0 struct (v1, │
23:19:34 #10629 [Debug] > │ v2, v24, v25, v26, v20, v30, v31, v32) │
23:19:34 #10630 [Debug] > │ let v42 : float = v38 * 5E-10 │
23:19:34 #10631 [Debug] > │ let v43 : float = v6 + v42 │
23:19:34 #10632 [Debug] > │ let v44 : float = 5E-10 * v35 │
23:19:34 #10633 [Debug] > │ let v45 : float = 5E-10 * v36 │
23:19:34 #10634 [Debug] > │ let v46 : float = 5E-10 * v37 │
23:19:34 #10635 [Debug] > │ let v47 : float = v3 + v44 │
23:19:34 #10636 [Debug] > │ let v48 : float = v4 + v45 │
23:19:34 #10637 [Debug] > │ let v49 : float = v5 + v46 │
23:19:34 #10638 [Debug] > │ let v50 : float = 5E-10 * v39 │
23:19:34 #10639 [Debug] > │ let v51 : float = 5E-10 * v40 │
23:19:34 #10640 [Debug] > │ let v52 : float = 5E-10 * v41 │
23:19:34 #10641 [Debug] > │ let v53 : float = v7 + v50 │
23:19:34 #10642 [Debug] > │ let v54 : float = v8 + v51 │
23:19:34 #10643 [Debug] > │ let v55 : float = v9 + v52 │
23:19:34 #10644 [Debug] > │ let struct (v56 : float, v57 : float, v58 : float, v59 : float, v60 : │
23:19:34 #10645 [Debug] > │ float, v61 : float, v62 : float, v63 : float, v64 : float) = v0 struct (v1, │
23:19:34 #10646 [Debug] > │ v2, v47, v48, v49, v43, v53, v54, v55) │
23:19:34 #10647 [Debug] > │ let v65 : float = v61 * 1E-09 │
23:19:34 #10648 [Debug] > │ let v66 : float = v6 + v65 │
23:19:34 #10649 [Debug] > │ let v67 : float = 1E-09 * v58 │
23:19:34 #10650 [Debug] > │ let v68 : float = 1E-09 * v59 │
23:19:34 #10651 [Debug] > │ let v69 : float = 1E-09 * v60 │
23:19:34 #10652 [Debug] > │ let v70 : float = v3 + v67 │
23:19:34 #10653 [Debug] > │ let v71 : float = v4 + v68 │
23:19:34 #10654 [Debug] > │ let v72 : float = v5 + v69 │
23:19:34 #10655 [Debug] > │ let v73 : float = 1E-09 * v62 │
23:19:34 #10656 [Debug] > │ let v74 : float = 1E-09 * v63 │
23:19:34 #10657 [Debug] > │ let v75 : float = 1E-09 * v64 │
23:19:34 #10658 [Debug] > │ let v76 : float = v7 + v73 │
23:19:34 #10659 [Debug] > │ let v77 : float = v8 + v74 │
23:19:34 #10660 [Debug] > │ let v78 : float = v9 + v75 │
23:19:34 #10661 [Debug] > │ let struct (v79 : float, v80 : float, v81 : float, v82 : float, v83 : │
23:19:34 #10662 [Debug] > │ float, v84 : float, v85 : float, v86 : float, v87 : float) = v0 struct (v1, │
23:19:34 #10663 [Debug] > │ v2, v70, v71, v72, v66, v76, v77, v78) │
23:19:34 #10664 [Debug] > │ let v88 : float = v10 + v33 │
23:19:34 #10665 [Debug] > │ let v89 : float = v11 + v34 │
23:19:34 #10666 [Debug] > │ let v90 : float = v15 + v38 │
23:19:34 #10667 [Debug] > │ let v91 : float = v12 + v35 │
23:19:34 #10668 [Debug] > │ let v92 : float = v13 + v36 │
23:19:34 #10669 [Debug] > │ let v93 : float = v14 + v37 │
23:19:34 #10670 [Debug] > │ let v94 : float = v16 + v39 │
23:19:34 #10671 [Debug] > │ let v95 : float = v17 + v40 │
23:19:34 #10672 [Debug] > │ let v96 : float = v18 + v41 │
23:19:34 #10673 [Debug] > │ let v97 : float = v88 + v33 │
23:19:34 #10674 [Debug] > │ let v98 : float = v89 + v34 │
23:19:34 #10675 [Debug] > │ let v99 : float = v90 + v38 │
23:19:34 #10676 [Debug] > │ let v100 : float = v91 + v35 │
23:19:34 #10677 [Debug] > │ let v101 : float = v92 + v36 │
23:19:34 #10678 [Debug] > │ let v102 : float = v93 + v37 │
23:19:34 #10679 [Debug] > │ let v103 : float = v94 + v39 │
23:19:34 #10680 [Debug] > │ let v104 : float = v95 + v40 │
23:19:34 #10681 [Debug] > │ let v105 : float = v96 + v41 │
23:19:34 #10682 [Debug] > │ let v106 : float = v97 + v56 │
23:19:34 #10683 [Debug] > │ let v107 : float = v98 + v57 │
23:19:34 #10684 [Debug] > │ let v108 : float = v99 + v61 │
23:19:34 #10685 [Debug] > │ let v109 : float = v100 + v58 │
23:19:34 #10686 [Debug] > │ let v110 : float = v101 + v59 │
23:19:34 #10687 [Debug] > │ let v111 : float = v102 + v60 │
23:19:34 #10688 [Debug] > │ let v112 : float = v103 + v62 │
23:19:34 #10689 [Debug] > │ let v113 : float = v104 + v63 │
23:19:34 #10690 [Debug] > │ let v114 : float = v105 + v64 │
23:19:34 #10691 [Debug] > │ let v115 : float = v106 + v56 │
23:19:34 #10692 [Debug] > │ let v116 : float = v107 + v57 │
23:19:34 #10693 [Debug] > │ let v117 : float = v108 + v61 │
23:19:34 #10694 [Debug] > │ let v118 : float = v109 + v58 │
23:19:34 #10695 [Debug] > │ let v119 : float = v110 + v59 │
23:19:34 #10696 [Debug] > │ let v120 : float = v111 + v60 │
23:19:34 #10697 [Debug] > │ let v121 : float = v112 + v62 │
23:19:34 #10698 [Debug] > │ let v122 : float = v113 + v63 │
23:19:34 #10699 [Debug] > │ let v123 : float = v114 + v64 │
23:19:34 #10700 [Debug] > │ let v124 : float = v115 + v79 │
23:19:34 #10701 [Debug] > │ let v125 : float = v116 + v80 │
23:19:34 #10702 [Debug] > │ let v126 : float = v117 + v84 │
23:19:34 #10703 [Debug] > │ let v127 : float = v118 + v81 │
23:19:34 #10704 [Debug] > │ let v128 : float = v119 + v82 │
23:19:34 #10705 [Debug] > │ let v129 : float = v120 + v83 │
23:19:34 #10706 [Debug] > │ let v130 : float = v121 + v85 │
23:19:34 #10707 [Debug] > │ let v131 : float = v122 + v86 │
23:19:34 #10708 [Debug] > │ let v132 : float = v123 + v87 │
23:19:34 #10709 [Debug] > │ let v133 : float = v126 * 1.6666666666666669E-10 │
23:19:34 #10710 [Debug] > │ let v134 : float = v6 + v133 │
23:19:34 #10711 [Debug] > │ let v135 : float = 1.6666666666666669E-10 * v127 │
23:19:34 #10712 [Debug] > │ let v136 : float = 1.6666666666666669E-10 * v128 │
23:19:34 #10713 [Debug] > │ let v137 : float = 1.6666666666666669E-10 * v129 │
23:19:34 #10714 [Debug] > │ let v138 : float = v3 + v135 │
23:19:34 #10715 [Debug] > │ let v139 : float = v4 + v136 │
23:19:34 #10716 [Debug] > │ let v140 : float = v5 + v137 │
23:19:34 #10717 [Debug] > │ let v141 : float = 1.6666666666666669E-10 * v130 │
23:19:34 #10718 [Debug] > │ let v142 : float = 1.6666666666666669E-10 * v131 │
23:19:34 #10719 [Debug] > │ let v143 : float = 1.6666666666666669E-10 * v132 │
23:19:34 #10720 [Debug] > │ let v144 : float = v7 + v141 │
23:19:34 #10721 [Debug] > │ let v145 : float = v8 + v142 │
23:19:34 #10722 [Debug] > │ let v146 : float = v9 + v143 │
23:19:34 #10723 [Debug] > │ struct (v1, v2, v138, v139, v140, v134, v144, v145, v146) │
23:19:34 #10724 [Debug] > │ and closure0 () (v0 : (struct (float * float * float * float * float * float │
23:19:34 #10725 [Debug] > │ * float * float * float) -> struct (float * float * float * float * float * │
23:19:34 #10726 [Debug] > │ float * float * float * float))) : (struct (float * float * float * float * │
23:19:34 #10727 [Debug] > │ float * float * float * float * float) -> struct (float * float * float * │
23:19:34 #10728 [Debug] > │ float * float * float * float * float * float)) = │
23:19:34 #10729 [Debug] > │ closure1(v0) │
23:19:34 #10730 [Debug] > │ and closure2 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
23:19:34 #10731 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
23:19:34 #10732 [Debug] > │ float * float * float * float * float * float * float * float) = │
23:19:34 #10733 [Debug] > │ let v9 : float = v8 * 0.0 │
23:19:34 #10734 [Debug] > │ let v10 : float = v7 - v9 │
23:19:34 #10735 [Debug] > │ let v11 : float = v9 - v6 │
23:19:34 #10736 [Debug] > │ let v12 : float = v6 * 0.0 │
23:19:34 #10737 [Debug] > │ let v13 : float = v7 * 0.0 │
23:19:34 #10738 [Debug] > │ let v14 : float = v12 - v13 │
23:19:34 #10739 [Debug] > │ let v15 : float = v0 * v10 │
23:19:34 #10740 [Debug] > │ let v16 : float = v0 * v11 │
23:19:34 #10741 [Debug] > │ let v17 : float = v0 * v14 │
23:19:34 #10742 [Debug] > │ let v18 : float = v15 / v1 │
23:19:34 #10743 [Debug] > │ let v19 : float = v16 / v1 │
23:19:34 #10744 [Debug] > │ let v20 : float = v17 / v1 │
23:19:34 #10745 [Debug] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v18, v19, v20) │
23:19:34 #10746 [Debug] > │ and closure3 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
23:19:34 #10747 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
23:19:34 #10748 [Debug] > │ float * float * float * float * float * float * float * float) = │
23:19:34 #10749 [Debug] > │ let v9 : float = v8 * 0.0 │
23:19:34 #10750 [Debug] > │ let v10 : float = v7 - v9 │
23:19:34 #10751 [Debug] > │ let v11 : float = v9 - v6 │
23:19:34 #10752 [Debug] > │ let v12 : float = v6 * 0.0 │
23:19:34 #10753 [Debug] > │ let v13 : float = v7 * 0.0 │
23:19:34 #10754 [Debug] > │ let v14 : float = v12 - v13 │
23:19:34 #10755 [Debug] > │ let v15 : float = v0 * v10 │
23:19:34 #10756 [Debug] > │ let v16 : float = v0 * v11 │
23:19:34 #10757 [Debug] > │ let v17 : float = v0 * v14 │
23:19:34 #10758 [Debug] > │ let v18 : float = v6 / 299792458.0 │
23:19:34 #10759 [Debug] > │ let v19 : float = v7 / 299792458.0 │
23:19:34 #10760 [Debug] > │ let v20 : float = v8 / 299792458.0 │
23:19:34 #10761 [Debug] > │ let v21 : float = v18 * v18 │
23:19:34 #10762 [Debug] > │ let v22 : float = v19 * v19 │
23:19:34 #10763 [Debug] > │ let v23 : float = v21 + v22 │
23:19:34 #10764 [Debug] > │ let v24 : float = v20 * v20 │
23:19:34 #10765 [Debug] > │ let v25 : float = v23 + v24 │
23:19:34 #10766 [Debug] > │ let v26 : float = 1.0 - v25 │
23:19:34 #10767 [Debug] > │ let v27 : float = sqrt v26 │
23:19:34 #10768 [Debug] > │ let v28 : float = v15 * v18 │
23:19:34 #10769 [Debug] > │ let v29 : float = v16 * v19 │
23:19:34 #10770 [Debug] > │ let v30 : float = v28 + v29 │
23:19:34 #10771 [Debug] > │ let v31 : float = v17 * v20 │
23:19:34 #10772 [Debug] > │ let v32 : float = v30 + v31 │
23:19:34 #10773 [Debug] > │ let v33 : float = v32 * v18 │
23:19:34 #10774 [Debug] > │ let v34 : float = v32 * v19 │
23:19:34 #10775 [Debug] > │ let v35 : float = v32 * v20 │
23:19:34 #10776 [Debug] > │ let v36 : float = -1.0 * v33 │
23:19:34 #10777 [Debug] > │ let v37 : float = -1.0 * v34 │
23:19:34 #10778 [Debug] > │ let v38 : float = -1.0 * v35 │
23:19:34 #10779 [Debug] > │ let v39 : float = v15 + v36 │
23:19:34 #10780 [Debug] > │ let v40 : float = v16 + v37 │
23:19:34 #10781 [Debug] > │ let v41 : float = v17 + v38 │
23:19:34 #10782 [Debug] > │ let v42 : float = v27 * v39 │
23:19:34 #10783 [Debug] > │ let v43 : float = v27 * v40 │
23:19:34 #10784 [Debug] > │ let v44 : float = v27 * v41 │
23:19:34 #10785 [Debug] > │ let v45 : float = v42 / v1 │
23:19:34 #10786 [Debug] > │ let v46 : float = v43 / v1 │
23:19:34 #10787 [Debug] > │ let v47 : float = v44 / v1 │
23:19:34 #10788 [Debug] > │ struct (0.0, 0.0, v6, v7, v8, 1.0, v45, v46, v47) │
23:19:34 #10789 [Debug] > │ and method2 (v0 : (struct (float * float * float * float * float * float * │
23:19:34 #10790 [Debug] > │ float * float * float) -> struct (float * float * float * float * float * │
23:19:34 #10791 [Debug] > │ float * float * float * float)), v1 : float, v2 : float, v3 : float, v4 : │
23:19:34 #10792 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float, v9 : float, v10 : │
23:19:34 #10793 [Debug] > │ int32) : struct (float * float * float * float * float * float * float * │
23:19:34 #10794 [Debug] > │ float * float) = │
23:19:34 #10795 [Debug] > │ let v11 : bool = v10 <= 0 │
23:19:34 #10796 [Debug] > │ if v11 then │
23:19:34 #10797 [Debug] > │ struct (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
23:19:34 #10798 [Debug] > │ else │
23:19:34 #10799 [Debug] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 │
23:19:34 #10800 [Debug] > │ : float, v17 : float, v18 : float, v19 : float, v20 : float) = v0 struct │
23:19:34 #10801 [Debug] > │ (v1, v2, v3, v4, v5, v6, v7, v8, v9) │
23:19:34 #10802 [Debug] > │ let v21 : int32 = v10 - 1 │
23:19:34 #10803 [Debug] > │ method2(v0, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) │
23:19:34 #10804 [Debug] > │ and method3 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:34 #10805 [Debug] > │ match v0 with │
23:19:34 #10806 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:34 #10807 [Debug] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
23:19:34 #10808 [Debug] > │ method3(v11, v12) │
23:19:34 #10809 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:34 #10810 [Debug] > │ v1 │
23:19:34 #10811 [Debug] > │ and method1 (v0 : (struct (float * float * float * float * float * float * │
23:19:34 #10812 [Debug] > │ float * float * float) -> struct (float * float * float * float * float * │
23:19:34 #10813 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
23:19:34 #10814 [Debug] > │ let v3 : float = 1.602176621E-19 │
23:19:34 #10815 [Debug] > │ let v4 : float = 1.672621898E-27 │
23:19:34 #10816 [Debug] > │ let v5 : float = 0.0 │
23:19:34 #10817 [Debug] > │ let v6 : float = 0.0 │
23:19:34 #10818 [Debug] > │ let v7 : float = 0.0 │
23:19:34 #10819 [Debug] > │ let v8 : float = 0.0 │
23:19:34 #10820 [Debug] > │ let v9 : float = 0.0 │
23:19:34 #10821 [Debug] > │ let v10 : float = 239833966.4 │
23:19:34 #10822 [Debug] > │ let v11 : float = 0.0 │
23:19:34 #10823 [Debug] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
23:19:34 #10824 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
23:19:34 #10825 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
23:19:34 #10826 [Debug] > │ let v21 : bool = v2 < 100 │
23:19:34 #10827 [Debug] > │ if v21 then │
23:19:34 #10828 [Debug] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
23:19:34 #10829 [Debug] > │ v1) │
23:19:34 #10830 [Debug] > │ let v23 : int32 = v2 + 1 │
23:19:34 #10831 [Debug] > │ method1(v0, v22, v23) │
23:19:34 #10832 [Debug] > │ else │
23:19:34 #10833 [Debug] > │ let v25 : UH0 = UH0_1 │
23:19:34 #10834 [Debug] > │ method3(v1, v25) │
23:19:34 #10835 [Debug] > │ and method4 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:34 #10836 [Debug] > │ match v0 with │
23:19:34 #10837 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:34 #10838 [Debug] > │ let v12 : UH1 = method4(v11, v1) │
23:19:34 #10839 [Debug] > │ UH1_0(v4, v5, v12) │
23:19:34 #10840 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:34 #10841 [Debug] > │ v1 │
23:19:34 #10842 [Debug] > │ and method5 (v0 : UH1, v1 : UH2, v2 : UH2) : struct (UH2 * UH2) = │
23:19:34 #10843 [Debug] > │ match v0 with │
23:19:34 #10844 [Debug] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
23:19:34 #10845 [Debug] > │ let v6 : UH2 = UH2_0(v3, v1) │
23:19:34 #10846 [Debug] > │ let v7 : UH2 = UH2_0(v4, v2) │
23:19:34 #10847 [Debug] > │ method5(v5, v6, v7) │
23:19:34 #10848 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:34 #10849 [Debug] > │ struct (v1, v2) │
23:19:34 #10850 [Debug] > │ and method6 (v0 : UH2, v1 : UH2) : UH2 = │
23:19:34 #10851 [Debug] > │ match v0 with │
23:19:34 #10852 [Debug] > │ | UH2_0(v2, v3) -> (* Cons *) │
23:19:34 #10853 [Debug] > │ let v4 : UH2 = UH2_0(v2, v1) │
23:19:34 #10854 [Debug] > │ method6(v3, v4) │
23:19:34 #10855 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:34 #10856 [Debug] > │ v1 │
23:19:34 #10857 [Debug] > │ and method7 (v0 : (struct (float * float * float * float * float * float * │
23:19:34 #10858 [Debug] > │ float * float * float) -> struct (float * float * float * float * float * │
23:19:34 #10859 [Debug] > │ float * float * float * float)), v1 : UH0, v2 : int32) : UH0 = │
23:19:34 #10860 [Debug] > │ let v3 : float = 1.602176621E-19 │
23:19:34 #10861 [Debug] > │ let v4 : float = 1.672621898E-27 │
23:19:34 #10862 [Debug] > │ let v5 : float = 0.0 │
23:19:34 #10863 [Debug] > │ let v6 : float = 0.0 │
23:19:34 #10864 [Debug] > │ let v7 : float = 0.0 │
23:19:34 #10865 [Debug] > │ let v8 : float = 0.0 │
23:19:34 #10866 [Debug] > │ let v9 : float = 0.0 │
23:19:34 #10867 [Debug] > │ let v10 : float = 239833966.4 │
23:19:34 #10868 [Debug] > │ let v11 : float = 0.0 │
23:19:34 #10869 [Debug] > │ let struct (v12 : float, v13 : float, v14 : float, v15 : float, v16 : │
23:19:34 #10870 [Debug] > │ float, v17 : float, v18 : float, v19 : float, v20 : float) = method2(v0, v3, │
23:19:34 #10871 [Debug] > │ v4, v5, v6, v7, v8, v9, v10, v11, v2) │
23:19:34 #10872 [Debug] > │ let v21 : bool = v2 < 165 │
23:19:34 #10873 [Debug] > │ if v21 then │
23:19:34 #10874 [Debug] > │ let v22 : UH0 = UH0_0(v12, v13, v14, v15, v16, v17, v18, v19, v20, │
23:19:34 #10875 [Debug] > │ v1) │
23:19:34 #10876 [Debug] > │ let v23 : int32 = v2 + 1 │
23:19:34 #10877 [Debug] > │ method7(v0, v22, v23) │
23:19:34 #10878 [Debug] > │ else │
23:19:34 #10879 [Debug] > │ let v25 : UH0 = UH0_1 │
23:19:34 #10880 [Debug] > │ method3(v1, v25) │
23:19:34 #10881 [Debug] > │ and method8 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:34 #10882 [Debug] > │ match v0 with │
23:19:34 #10883 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:34 #10884 [Debug] > │ let v12 : UH1 = method8(v11, v1) │
23:19:34 #10885 [Debug] > │ UH1_0(v4, v5, v12) │
23:19:34 #10886 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:34 #10887 [Debug] > │ v1 │
23:19:34 #10888 [Debug] > │ and method10 (v0 : UH2, v1 : int32) : int32 = │
23:19:34 #10889 [Debug] > │ match v0 with │
23:19:34 #10890 [Debug] > │ | UH2_0(v2, v3) -> (* Cons *) │
23:19:34 #10891 [Debug] > │ let v4 : int32 = v1 + 1 │
23:19:34 #10892 [Debug] > │ method10(v3, v4) │
23:19:34 #10893 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:34 #10894 [Debug] > │ v1 │
23:19:34 #10895 [Debug] > │ and method11 (v0 : (float []), v1 : UH2, v2 : int32) : int32 = │
23:19:34 #10896 [Debug] > │ match v1 with │
23:19:34 #10897 [Debug] > │ | UH2_0(v3, v4) -> (* Cons *) │
23:19:34 #10898 [Debug] > │ v0.[int v2] <- v3 │
23:19:34 #10899 [Debug] > │ let v5 : int32 = v2 + 1 │
23:19:34 #10900 [Debug] > │ method11(v0, v4, v5) │
23:19:34 #10901 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:34 #10902 [Debug] > │ v2 │
23:19:34 #10903 [Debug] > │ and method9 (v0 : UH2) : (float []) = │
23:19:34 #10904 [Debug] > │ let v1 : int32 = 0 │
23:19:34 #10905 [Debug] > │ let v2 : int32 = method10(v0, v1) │
23:19:34 #10906 [Debug] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
23:19:34 #10907 [Debug] > │ let v4 : int32 = 0 │
23:19:34 #10908 [Debug] > │ let v5 : int32 = method11(v3, v0, v4) │
23:19:34 #10909 [Debug] > │ v3 │
23:19:34 #10910 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:34 #10911 [Debug] > │ []) * (float [])) [])) = │
23:19:34 #10912 [Debug] > │ let v0 : ((struct (float * float * float * float * float * float * float │
23:19:34 #10913 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:34 #10914 [Debug] > │ float * float * float)) -> (struct (float * float * float * float * float * │
23:19:34 #10915 [Debug] > │ float * float * float * float) -> struct (float * float * float * float * │
23:19:34 #10916 [Debug] > │ float * float * float * float * float))) = closure0() │
23:19:34 #10917 [Debug] > │ let v1 : (struct (float * float * float * float * float * float * float │
23:19:34 #10918 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:34 #10919 [Debug] > │ float * float * float)) = closure2() │
23:19:34 #10920 [Debug] > │ let v2 : (struct (float * float * float * float * float * float * float │
23:19:34 #10921 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:34 #10922 [Debug] > │ float * float * float)) = v0 v1 │
23:19:34 #10923 [Debug] > │ let v3 : (struct (float * float * float * float * float * float * float │
23:19:34 #10924 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:34 #10925 [Debug] > │ float * float * float)) = closure3() │
23:19:34 #10926 [Debug] > │ let v4 : (struct (float * float * float * float * float * float * float │
23:19:34 #10927 [Debug] > │ * float * float) -> struct (float * float * float * float * float * float * │
23:19:34 #10928 [Debug] > │ float * float * float)) = v0 v3 │
23:19:34 #10929 [Debug] > │ let v5 : UH0 = UH0_1 │
23:19:34 #10930 [Debug] > │ let v6 : int32 = 0 │
23:19:34 #10931 [Debug] > │ let v7 : UH0 = method1(v2, v5, v6) │
23:19:34 #10932 [Debug] > │ let v8 : UH1 = UH1_1 │
23:19:34 #10933 [Debug] > │ let v9 : UH1 = method4(v7, v8) │
23:19:34 #10934 [Debug] > │ let v10 : UH2 = UH2_1 │
23:19:34 #10935 [Debug] > │ let v11 : UH2 = UH2_1 │
23:19:34 #10936 [Debug] > │ let struct (v12 : UH2, v13 : UH2) = method5(v9, v10, v11) │
23:19:34 #10937 [Debug] > │ let v14 : UH2 = UH2_1 │
23:19:34 #10938 [Debug] > │ let v15 : UH2 = method6(v12, v14) │
23:19:34 #10939 [Debug] > │ let v16 : UH2 = UH2_1 │
23:19:34 #10940 [Debug] > │ let v17 : UH2 = method6(v13, v16) │
23:19:34 #10941 [Debug] > │ let v18 : UH0 = UH0_1 │
23:19:34 #10942 [Debug] > │ let v19 : int32 = 0 │
23:19:34 #10943 [Debug] > │ let v20 : UH0 = method7(v4, v18, v19) │
23:19:34 #10944 [Debug] > │ let v21 : UH1 = UH1_1 │
23:19:34 #10945 [Debug] > │ let v22 : UH1 = method8(v20, v21) │
23:19:34 #10946 [Debug] > │ let v23 : UH2 = UH2_1 │
23:19:34 #10947 [Debug] > │ let v24 : UH2 = UH2_1 │
23:19:34 #10948 [Debug] > │ let struct (v25 : UH2, v26 : UH2) = method5(v22, v23, v24) │
23:19:34 #10949 [Debug] > │ let v27 : UH2 = UH2_1 │
23:19:34 #10950 [Debug] > │ let v28 : UH2 = method6(v25, v27) │
23:19:34 #10951 [Debug] > │ let v29 : UH2 = UH2_1 │
23:19:34 #10952 [Debug] > │ let v30 : UH2 = method6(v26, v29) │
23:19:34 #10953 [Debug] > │ let v31 : (float []) = method9(v15) │
23:19:34 #10954 [Debug] > │ let v32 : (float []) = method9(v17) │
23:19:34 #10955 [Debug] > │ let v33 : (float []) = method9(v28) │
23:19:34 #10956 [Debug] > │ let v34 : (float []) = method9(v30) │
23:19:34 #10957 [Debug] > │ let v35 : string = "newtonian" │
23:19:34 #10958 [Debug] > │ let v36 : string = "relativistic" │
23:19:34 #10959 [Debug] > │ let v37 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:34 #10960 [Debug] > │ (v35, v31, v32); struct (v36, v33, v34)|] │
23:19:34 #10961 [Debug] > │ let v38 : string = "proton in a 1-t magnetic field" │
23:19:34 #10962 [Debug] > │ let v39 : string = "x (m)" │
23:19:34 #10963 [Debug] > │ let v40 : string = "y (m)" │
23:19:34 #10964 [Debug] > │ struct (v38, v39, v40, v37) │
23:19:34 #10965 [Debug] > │ method0() │
23:19:34 #10966 [Debug] > │ │
23:19:34 #10967 [Debug] > │ │
23:19:34 #10968 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:34 #10969 [Debug] >
23:19:34 #10970 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:34 #10971 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:34 #10972 [Debug] > │ ### system kinetic energy versus time 1 │
23:19:34 #10973 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:34 #10974 [Debug] >
23:19:34 #10975 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:34 #10976 [Debug] > // // test
23:19:34 #10977 [Debug] >
23:19:34 #10978 [Debug] > inl central_force f (particle_state st1) (particle_state st2) =
23:19:34 #10979 [Debug] > inl r1 = st1.pos_vec
23:19:34 #10980 [Debug] > inl r2 = st2.pos_vec
23:19:34 #10981 [Debug] > inl r21 = r2 ^-^ r1
23:19:34 #10982 [Debug] > inl r21mag = magnitude r21
23:19:34 #10983 [Debug] > f r21mag *^ r21 ^/ r21mag
23:19:34 #10984 [Debug] >
23:19:34 #10985 [Debug] > inl billiard_force k re =
23:19:34 #10986 [Debug] > inl f r =
23:19:34 #10987 [Debug] > if r >= re
23:19:34 #10988 [Debug] > then 0
23:19:34 #10989 [Debug] > else -k * (r - re)
23:19:34 #10990 [Debug] > central_force f
23:19:34 #10991 [Debug] >
23:19:34 #10992 [Debug] > type force_vector = vec
23:19:34 #10993 [Debug] > type two_body_force = particle_state -> particle_state -> force_vector
23:19:34 #10994 [Debug] >
23:19:34 #10995 [Debug] > union force =
23:19:34 #10996 [Debug] > | ExternalForce : i32 * one_body_force
23:19:34 #10997 [Debug] > | InternalForce : i32 * i32 * two_body_force
23:19:34 #10998 [Debug] >
23:19:34 #10999 [Debug] > nominal multi_particle_state = list particle_state
23:19:34 #11000 [Debug] >
23:19:34 #11001 [Debug] > nominal d_multi_particle_state = list d_particle_state
23:19:34 #11002 [Debug] >
23:19:34 #11003 [Debug] > inl force_on n sts force =
23:19:34 #11004 [Debug] > match force with
23:19:34 #11005 [Debug] > | ExternalForce (n0, f_one_body) =>
23:19:34 #11006 [Debug] > if n = n0
23:19:34 #11007 [Debug] > then f_one_body
23:19:34 #11008 [Debug] > else fun _ => zero_vec ()
23:19:34 #11009 [Debug] > | InternalForce (n0, n1, f_two_body) =>
23:19:34 #11010 [Debug] > if n = n0
23:19:34 #11011 [Debug] > then f_two_body (sts |> listm'.item n1)
23:19:34 #11012 [Debug] > elif n = n1
23:19:34 #11013 [Debug] > then f_two_body (sts |> listm'.item n0)
23:19:34 #11014 [Debug] > else fun _ => zero_vec ()
23:19:34 #11015 [Debug] >
23:19:34 #11016 [Debug] > inl forces_on n (multi_particle_state sts) fs =
23:19:34 #11017 [Debug] > fs |> listm.map (force_on n sts)
23:19:34 #11018 [Debug] >
23:19:34 #11019 [Debug] > inl newton_second_mps fs (multi_particle_state sts) : d_multi_particle_state =
23:19:34 #11020 [Debug] > inl deriv (n, st) =
23:19:34 #11021 [Debug] > newton_second_ps (forces_on n (multi_particle_state sts) fs) st
23:19:34 #11022 [Debug] > sts |> listm'.indexed |> listm.map deriv |> d_multi_particle_state
23:19:34 #11023 [Debug] >
23:19:34 #11024 [Debug] > instance (+++) d_multi_particle_state = fun (d_multi_particle_state dsts1)
23:19:34 #11025 [Debug] > (d_multi_particle_state dsts2) =>
23:19:34 #11026 [Debug] > d_multi_particle_state (listm'.zip_with_ (+++) dsts1 dsts2)
23:19:34 #11027 [Debug] >
23:19:34 #11028 [Debug] > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) =>
23:19:34 #11029 [Debug] > d_multi_particle_state (dsts |> listm.map (scale w))
23:19:34 #11030 [Debug] >
23:19:34 #11031 [Debug] > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) =>
23:19:34 #11032 [Debug] > inl (d_multi_particle_state dsts) =
23:19:34 #11033 [Debug] > real
23:19:34 #11034 [Debug] > match dsts with
23:19:34 #11035 [Debug] > | d_multi_particle_state _ => dsts
23:19:34 #11036 [Debug] > listm'.zip_with_ (shift dt) dsts sts |> multi_particle_state
23:19:34 #11037 [Debug] >
23:19:34 #11038 [Debug] > inl euler_cromer_mps dt : numerical_method multi_particle_state
23:19:34 #11039 [Debug] > d_multi_particle_state =
23:19:34 #11040 [Debug] > fun deriv mpst0 =>
23:19:34 #11041 [Debug] > inl mpst1 = euler dt deriv mpst0
23:19:34 #11042 [Debug] > inl (multi_particle_state sts0) = mpst0
23:19:34 #11043 [Debug] > inl (multi_particle_state sts1) = mpst1
23:19:34 #11044 [Debug] > sts1
23:19:34 #11045 [Debug] > |> listm'.zip_ sts0
23:19:34 #11046 [Debug] > |> listm.map (fun ((particle_state st0), (particle_state st1)) =>
23:19:34 #11047 [Debug] > particle_state {
23:19:34 #11048 [Debug] > st1 with
23:19:34 #11049 [Debug] > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
23:19:34 #11050 [Debug] > }
23:19:34 #11051 [Debug] > )
23:19:34 #11052 [Debug] > |> multi_particle_state
23:19:34 #11053 [Debug] >
23:19:34 #11054 [Debug] > inl update_mps (method : numerical_method multi_particle_state
23:19:34 #11055 [Debug] > d_multi_particle_state) =
23:19:34 #11056 [Debug] > newton_second_mps >> method
23:19:34 #11057 [Debug] >
23:19:34 #11058 [Debug] > inl states_mps (method : numerical_method multi_particle_state
23:19:34 #11059 [Debug] > d_multi_particle_state) =
23:19:34 #11060 [Debug] > newton_second_mps >> method >> seq.iterate_
23:19:34 #11061 [Debug] >
23:19:34 #11062 [Debug] >
23:19:34 #11063 [Debug] > inl kinetic_energy (particle_state st) =
23:19:34 #11064 [Debug] > inl m = st.mass
23:19:34 #11065 [Debug] > inl v = magnitude st.velocity
23:19:34 #11066 [Debug] > 0.5 * m * v ** 2
23:19:34 #11067 [Debug] >
23:19:34 #11068 [Debug] > inl system_ke (multi_particle_state sts) =
23:19:34 #11069 [Debug] > sts |> listm.map kinetic_energy |> listm'.sum
23:19:34 #11070 [Debug] >
23:19:34 #11071 [Debug] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
23:19:34 #11072 [Debug] > inl r1 = st1.pos_vec
23:19:34 #11073 [Debug] > inl r2 = st2.pos_vec
23:19:34 #11074 [Debug] > inl r21 = r2 ^-^ r1
23:19:34 #11075 [Debug] > inl r21mag = magnitude r21
23:19:34 #11076 [Debug] > k * (r21mag - re) ** 2 / 2
23:19:34 #11077 [Debug] >
23:19:34 #11078 [Debug] > inl earth_surface_gravity_pe (particle_state st) =
23:19:34 #11079 [Debug] > inl g = 9.80665
23:19:34 #11080 [Debug] > inl m = st.mass
23:19:34 #11081 [Debug] > inl z = st.pos_vec.z
23:19:34 #11082 [Debug] > m * g * z
23:19:34 #11083 [Debug] >
23:19:34 #11084 [Debug] > inl two_springs_pe (multi_particle_state sts) =
23:19:34 #11085 [Debug] > inl st0 = sts |> listm'.item 0i32
23:19:34 #11086 [Debug] > inl st1 = sts |> listm'.item 1i32
23:19:34 #11087 [Debug] > linear_spring_pe 100 0.5 (default_particle_state ()) st0
23:19:34 #11088 [Debug] > + linear_spring_pe 100 0.5 st0 st1
23:19:34 #11089 [Debug] > + earth_surface_gravity_pe st0
23:19:34 #11090 [Debug] > + earth_surface_gravity_pe st1
23:19:34 #11091 [Debug] >
23:19:34 #11092 [Debug] > inl two_springs_me mpst =
23:19:34 #11093 [Debug] > system_ke mpst + two_springs_pe mpst
23:19:34 #11094 [Debug] >
23:19:34 #11095 [Debug] > inl ball_radius () = 0.03
23:19:34 #11096 [Debug] >
23:19:34 #11097 [Debug] > inl billiard_forces k =
23:19:34 #11098 [Debug] > [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]
23:19:34 #11099 [Debug] >
23:19:34 #11100 [Debug] > inl billiard_update n_method k dt =
23:19:34 #11101 [Debug] > update_mps (n_method dt) (billiard_forces k)
23:19:34 #11102 [Debug] >
23:19:34 #11103 [Debug] > inl billiard_initial () =
23:19:34 #11104 [Debug] > inl ball_mass = 0.160
23:19:34 #11105 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:34 #11106 [Debug] > multi_particle_state [[
23:19:34 #11107 [Debug] > particle_state {
23:19:34 #11108 [Debug] > default_particle_state' with
23:19:34 #11109 [Debug] > mass = ball_mass
23:19:34 #11110 [Debug] > pos_vec = zero_vec ()
23:19:34 #11111 [Debug] > velocity = 0.2 *^ i_hat ()
23:19:34 #11112 [Debug] > }
23:19:34 #11113 [Debug] > particle_state {
23:19:34 #11114 [Debug] > default_particle_state' with
23:19:34 #11115 [Debug] > mass = ball_mass
23:19:34 #11116 [Debug] > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
23:19:34 #11117 [Debug] > velocity = zero_vec ()
23:19:34 #11118 [Debug] > }
23:19:34 #11119 [Debug] > ]]
23:19:34 #11120 [Debug] >
23:19:34 #11121 [Debug] > inl billiard_states ~n_method k dt =
23:19:34 #11122 [Debug] > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
23:19:34 #11123 [Debug] >
23:19:34 #11124 [Debug] > inl billiard_states_finite n_method k dt =
23:19:34 #11125 [Debug] > billiard_states n_method k dt
23:19:34 #11126 [Debug] > >> Some
23:19:34 #11127 [Debug] > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
23:19:34 #11128 [Debug] > (mpst |> listm'.item 0i32).time <= 10
23:19:34 #11129 [Debug] > )
23:19:34 #11130 [Debug] >
23:19:34 #11131 [Debug] > inl momentum (particle_state st) =
23:19:34 #11132 [Debug] > inl m = st.mass
23:19:34 #11133 [Debug] > inl v = st.velocity
23:19:34 #11134 [Debug] > m *^ v
23:19:34 #11135 [Debug] >
23:19:34 #11136 [Debug] > inl system_p (multi_particle_state sts) =
23:19:34 #11137 [Debug] > sts |> listm.map momentum |> sum_vec
23:19:34 #11138 [Debug] >
23:19:34 #11139 [Debug] >
23:19:34 #11140 [Debug] > inl time_ke_ec_x, time_ke_ec_y =
23:19:34 #11141 [Debug] > billiard_states_finite euler_cromer_mps 30 0.03
23:19:34 #11142 [Debug] > |> listm.map (fun (multi_particle_state mpst) =>
23:19:34 #11143 [Debug] > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
23:19:34 #11144 [Debug] > )
23:19:34 #11145 [Debug] > |> listm'.unzip
23:19:34 #11146 [Debug] >
23:19:34 #11147 [Debug] > inl time_ke_rk4_x, time_ke_rk4_y =
23:19:34 #11148 [Debug] > billiard_states_finite runge_kutta_4 30 0.03
23:19:34 #11149 [Debug] > |> listm.map (fun (multi_particle_state mpst) =>
23:19:34 #11150 [Debug] > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst)
23:19:34 #11151 [Debug] > )
23:19:34 #11152 [Debug] > |> listm'.unzip
23:19:34 #11153 [Debug] >
23:19:34 #11154 [Debug] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
23:19:34 #11155 [Debug] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
23:19:34 #11156 [Debug] >
23:19:34 #11157 [Debug] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
23:19:34 #11158 [Debug] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
23:19:34 #11159 [Debug] >
23:19:34 #11160 [Debug] > "system kinetic energy versus time",
23:19:34 #11161 [Debug] > "time (s)",
23:19:34 #11162 [Debug] > "system kinetic energy (j)",
23:19:34 #11163 [Debug] > ;[[
23:19:34 #11164 [Debug] > "euler-cromer", time_ke_ec_x, time_ke_ec_y
23:19:34 #11165 [Debug] > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
23:19:34 #11166 [Debug] > ]]
23:19:34 #11167 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3469-6986-6b75e68c7880\main.spi
23:19:36 #11168 [Debug] >
23:19:36 #11169 [Debug] > ╭─[ 1.47s - return value ]─────────────────────────────────────────────────────╮
23:19:36 #11170 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:36 #11171 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:36 #11172 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:36 #11173 [Debug] > │ stroke="none"/> │
23:19:36 #11174 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:36 #11175 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11176 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11177 [Debug] > │ system kinetic energy versus time │
23:19:36 #11178 [Debug] > │ </text> │
23:19:36 #11179 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:36 #11180 [Debug] > │ y2="75"/> │
23:19:36 #11181 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:36 #11182 [Debug] > │ y2="75"/> │
23:19:36 #11183 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:36 #11184 [Debug] > │ y2="75"/> │
23:19:36 #11185 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:36 #11186 [Debug] > │ y2="75"/> │
23:19:36 #11187 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:36 #11188 [Debug] > │ y2="75"/> │
23:19:36 #11189 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:36 #11190 [Debug] > │ x2="109" y2="75"/> │
23:19:36 #11191 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:36 #11192 [Debug] > │ x2="119" y2="75"/> │
23:19:36 #11193 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:36 #11194 [Debug] > │ x2="129" y2="75"/> │
23:19:36 #11195 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:36 #11196 [Debug] > │ x2="139" y2="75"/> │
23:19:36 #11197 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:36 #11198 [Debug] > │ x2="149" y2="75"/> │
23:19:36 #11199 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:36 #11200 [Debug] > │ x2="159" y2="75"/> │
23:19:36 #11201 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:36 #11202 [Debug] > │ x2="169" y2="75"/> │
23:19:36 #11203 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:36 #11204 [Debug] > │ x2="179" y2="75"/> │
23:19:36 #11205 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:36 #11206 [Debug] > │ x2="189" y2="75"/> │
23:19:36 #11207 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:36 #11208 [Debug] > │ x2="199" y2="75"/> │
23:19:36 #11209 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:36 #11210 [Debug] > │ x2="209" y2="75"/> │
23:19:36 #11211 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:36 #11212 [Debug] > │ x2="219" y2="75"/> │
23:19:36 #11213 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:36 #11214 [Debug] > │ x2="229" y2="75"/> │
23:19:36 #11215 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:36 #11216 [Debug] > │ x2="239" y2="75"/> │
23:19:36 #11217 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:36 #11218 [Debug] > │ x2="249" y2="75"/> │
23:19:36 #11219 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:36 #11220 [Debug] > │ x2="259" y2="75"/> │
23:19:36 #11221 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:36 #11222 [Debug] > │ x2="269" y2="75"/> │
23:19:36 #11223 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:36 #11224 [Debug] > │ x2="279" y2="75"/> │
23:19:36 #11225 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:36 #11226 [Debug] > │ x2="289" y2="75"/> │
23:19:36 #11227 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:36 #11228 [Debug] > │ x2="299" y2="75"/> │
23:19:36 #11229 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:36 #11230 [Debug] > │ x2="309" y2="75"/> │
23:19:36 #11231 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:36 #11232 [Debug] > │ x2="319" y2="75"/> │
23:19:36 #11233 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:36 #11234 [Debug] > │ x2="329" y2="75"/> │
23:19:36 #11235 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:36 #11236 [Debug] > │ x2="339" y2="75"/> │
23:19:36 #11237 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:36 #11238 [Debug] > │ x2="349" y2="75"/> │
23:19:36 #11239 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:36 #11240 [Debug] > │ x2="359" y2="75"/> │
23:19:36 #11241 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:36 #11242 [Debug] > │ x2="369" y2="75"/> │
23:19:36 #11243 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:36 #11244 [Debug] > │ x2="379" y2="75"/> │
23:19:36 #11245 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:36 #11246 [Debug] > │ x2="389" y2="75"/> │
23:19:36 #11247 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:36 #11248 [Debug] > │ x2="399" y2="75"/> │
23:19:36 #11249 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:36 #11250 [Debug] > │ x2="409" y2="75"/> │
23:19:36 #11251 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:36 #11252 [Debug] > │ x2="419" y2="75"/> │
23:19:36 #11253 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:36 #11254 [Debug] > │ x2="429" y2="75"/> │
23:19:36 #11255 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:36 #11256 [Debug] > │ x2="439" y2="75"/> │
23:19:36 #11257 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:36 #11258 [Debug] > │ x2="449" y2="75"/> │
23:19:36 #11259 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:36 #11260 [Debug] > │ x2="459" y2="75"/> │
23:19:36 #11261 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:36 #11262 [Debug] > │ x2="469" y2="75"/> │
23:19:36 #11263 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:36 #11264 [Debug] > │ x2="479" y2="75"/> │
23:19:36 #11265 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:36 #11266 [Debug] > │ x2="489" y2="75"/> │
23:19:36 #11267 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:36 #11268 [Debug] > │ x2="499" y2="75"/> │
23:19:36 #11269 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:36 #11270 [Debug] > │ x2="509" y2="75"/> │
23:19:36 #11271 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:36 #11272 [Debug] > │ x2="519" y2="75"/> │
23:19:36 #11273 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:36 #11274 [Debug] > │ x2="529" y2="75"/> │
23:19:36 #11275 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:36 #11276 [Debug] > │ x2="539" y2="75"/> │
23:19:36 #11277 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:36 #11278 [Debug] > │ x2="549" y2="75"/> │
23:19:36 #11279 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:36 #11280 [Debug] > │ x2="559" y2="75"/> │
23:19:36 #11281 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:36 #11282 [Debug] > │ x2="569" y2="75"/> │
23:19:36 #11283 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424" │
23:19:36 #11284 [Debug] > │ x2="579" y2="75"/> │
23:19:36 #11285 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="416" │
23:19:36 #11286 [Debug] > │ x2="584" y2="416"/> │
23:19:36 #11287 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404" │
23:19:36 #11288 [Debug] > │ x2="584" y2="404"/> │
23:19:36 #11289 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="392" │
23:19:36 #11290 [Debug] > │ x2="584" y2="392"/> │
23:19:36 #11291 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380" │
23:19:36 #11292 [Debug] > │ x2="584" y2="380"/> │
23:19:36 #11293 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368" │
23:19:36 #11294 [Debug] > │ x2="584" y2="368"/> │
23:19:36 #11295 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="356" │
23:19:36 #11296 [Debug] > │ x2="584" y2="356"/> │
23:19:36 #11297 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="344" │
23:19:36 #11298 [Debug] > │ x2="584" y2="344"/> │
23:19:36 #11299 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332" │
23:19:36 #11300 [Debug] > │ x2="584" y2="332"/> │
23:19:36 #11301 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321" │
23:19:36 #11302 [Debug] > │ x2="584" y2="321"/> │
23:19:36 #11303 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="309" │
23:19:36 #11304 [Debug] > │ x2="584" y2="309"/> │
23:19:36 #11305 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="297" │
23:19:36 #11306 [Debug] > │ x2="584" y2="297"/> │
23:19:36 #11307 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="285" │
23:19:36 #11308 [Debug] > │ x2="584" y2="285"/> │
23:19:36 #11309 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273" │
23:19:36 #11310 [Debug] > │ x2="584" y2="273"/> │
23:19:36 #11311 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="261" │
23:19:36 #11312 [Debug] > │ x2="584" y2="261"/> │
23:19:36 #11313 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="249" │
23:19:36 #11314 [Debug] > │ x2="584" y2="249"/> │
23:19:36 #11315 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="237" │
23:19:36 #11316 [Debug] > │ x2="584" y2="237"/> │
23:19:36 #11317 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="225" │
23:19:36 #11318 [Debug] > │ x2="584" y2="225"/> │
23:19:36 #11319 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="213" │
23:19:36 #11320 [Debug] > │ x2="584" y2="213"/> │
23:19:36 #11321 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:36 #11322 [Debug] > │ x2="584" y2="201"/> │
23:19:36 #11323 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="189" │
23:19:36 #11324 [Debug] > │ x2="584" y2="189"/> │
23:19:36 #11325 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="177" │
23:19:36 #11326 [Debug] > │ x2="584" y2="177"/> │
23:19:36 #11327 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="165" │
23:19:36 #11328 [Debug] > │ x2="584" y2="165"/> │
23:19:36 #11329 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="153" │
23:19:36 #11330 [Debug] > │ x2="584" y2="153"/> │
23:19:36 #11331 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="142" │
23:19:36 #11332 [Debug] > │ x2="584" y2="142"/> │
23:19:36 #11333 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="130" │
23:19:36 #11334 [Debug] > │ x2="584" y2="130"/> │
23:19:36 #11335 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:36 #11336 [Debug] > │ x2="584" y2="118"/> │
23:19:36 #11337 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106" │
23:19:36 #11338 [Debug] > │ x2="584" y2="106"/> │
23:19:36 #11339 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="94" x2="584" │
23:19:36 #11340 [Debug] > │ y2="94"/> │
23:19:36 #11341 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="82" x2="584" │
23:19:36 #11342 [Debug] > │ y2="82"/> │
23:19:36 #11343 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:36 #11344 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11345 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11346 [Debug] > │ time (s) │
23:19:36 #11347 [Debug] > │ </text> │
23:19:36 #11348 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:36 #11349 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11350 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:36 #11351 [Debug] > │ system kinetic energy (j) │
23:19:36 #11352 [Debug] > │ </text> │
23:19:36 #11353 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11354 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11355 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11356 [Debug] > │ time (s) │
23:19:36 #11357 [Debug] > │ </text> │
23:19:36 #11358 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:36 #11359 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11360 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:36 #11361 [Debug] > │ system kinetic energy (j) │
23:19:36 #11362 [Debug] > │ </text> │
23:19:36 #11363 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:36 #11364 [Debug] > │ y2="75"/> │
23:19:36 #11365 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:36 #11366 [Debug] > │ x2="119" y2="75"/> │
23:19:36 #11367 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:36 #11368 [Debug] > │ x2="169" y2="75"/> │
23:19:36 #11369 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:36 #11370 [Debug] > │ x2="219" y2="75"/> │
23:19:36 #11371 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:36 #11372 [Debug] > │ x2="269" y2="75"/> │
23:19:36 #11373 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:36 #11374 [Debug] > │ x2="319" y2="75"/> │
23:19:36 #11375 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:36 #11376 [Debug] > │ x2="369" y2="75"/> │
23:19:36 #11377 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:36 #11378 [Debug] > │ x2="419" y2="75"/> │
23:19:36 #11379 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:36 #11380 [Debug] > │ x2="469" y2="75"/> │
23:19:36 #11381 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:36 #11382 [Debug] > │ x2="519" y2="75"/> │
23:19:36 #11383 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:36 #11384 [Debug] > │ x2="569" y2="75"/> │
23:19:36 #11385 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="380" │
23:19:36 #11386 [Debug] > │ x2="584" y2="380"/> │
23:19:36 #11387 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332" │
23:19:36 #11388 [Debug] > │ x2="584" y2="332"/> │
23:19:36 #11389 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="285" │
23:19:36 #11390 [Debug] > │ x2="584" y2="285"/> │
23:19:36 #11391 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="237" │
23:19:36 #11392 [Debug] > │ x2="584" y2="237"/> │
23:19:36 #11393 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="189" │
23:19:36 #11394 [Debug] > │ x2="584" y2="189"/> │
23:19:36 #11395 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="142" │
23:19:36 #11396 [Debug] > │ x2="584" y2="142"/> │
23:19:36 #11397 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="94" x2="584" │
23:19:36 #11398 [Debug] > │ y2="94"/> │
23:19:36 #11399 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11400 [Debug] > │ points="55,74 584,74 "/> │
23:19:36 #11401 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11402 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11403 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11404 [Debug] > │ 0.0 │
23:19:36 #11405 [Debug] > │ </text> │
23:19:36 #11406 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11407 [Debug] > │ points="69,69 69,74 "/> │
23:19:36 #11408 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11409 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11410 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11411 [Debug] > │ 1.0 │
23:19:36 #11412 [Debug] > │ </text> │
23:19:36 #11413 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11414 [Debug] > │ points="119,69 119,74 "/> │
23:19:36 #11415 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11416 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11417 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11418 [Debug] > │ 2.0 │
23:19:36 #11419 [Debug] > │ </text> │
23:19:36 #11420 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11421 [Debug] > │ points="169,69 169,74 "/> │
23:19:36 #11422 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11423 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11424 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11425 [Debug] > │ 3.0 │
23:19:36 #11426 [Debug] > │ </text> │
23:19:36 #11427 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11428 [Debug] > │ points="219,69 219,74 "/> │
23:19:36 #11429 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11430 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11431 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11432 [Debug] > │ 4.0 │
23:19:36 #11433 [Debug] > │ </text> │
23:19:36 #11434 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11435 [Debug] > │ points="269,69 269,74 "/> │
23:19:36 #11436 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11437 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11438 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11439 [Debug] > │ 5.0 │
23:19:36 #11440 [Debug] > │ </text> │
23:19:36 #11441 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11442 [Debug] > │ points="319,69 319,74 "/> │
23:19:36 #11443 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11444 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11445 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11446 [Debug] > │ 6.0 │
23:19:36 #11447 [Debug] > │ </text> │
23:19:36 #11448 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11449 [Debug] > │ points="369,69 369,74 "/> │
23:19:36 #11450 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11451 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11452 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11453 [Debug] > │ 7.0 │
23:19:36 #11454 [Debug] > │ </text> │
23:19:36 #11455 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11456 [Debug] > │ points="419,69 419,74 "/> │
23:19:36 #11457 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11458 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11459 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11460 [Debug] > │ 8.0 │
23:19:36 #11461 [Debug] > │ </text> │
23:19:36 #11462 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11463 [Debug] > │ points="469,69 469,74 "/> │
23:19:36 #11464 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11465 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11466 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11467 [Debug] > │ 9.0 │
23:19:36 #11468 [Debug] > │ </text> │
23:19:36 #11469 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11470 [Debug] > │ points="519,69 519,74 "/> │
23:19:36 #11471 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:36 #11472 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11473 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11474 [Debug] > │ 10.0 │
23:19:36 #11475 [Debug] > │ </text> │
23:19:36 #11476 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11477 [Debug] > │ points="569,69 569,74 "/> │
23:19:36 #11478 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11479 [Debug] > │ points="54,75 54,424 "/> │
23:19:36 #11480 [Debug] > │ <text x="45" y="380" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11481 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11482 [Debug] > │ 0.0 │
23:19:36 #11483 [Debug] > │ </text> │
23:19:36 #11484 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11485 [Debug] > │ points="49,380 54,380 "/> │
23:19:36 #11486 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11487 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11488 [Debug] > │ 0.0 │
23:19:36 #11489 [Debug] > │ </text> │
23:19:36 #11490 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11491 [Debug] > │ points="49,332 54,332 "/> │
23:19:36 #11492 [Debug] > │ <text x="45" y="285" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11493 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11494 [Debug] > │ 0.0 │
23:19:36 #11495 [Debug] > │ </text> │
23:19:36 #11496 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11497 [Debug] > │ points="49,285 54,285 "/> │
23:19:36 #11498 [Debug] > │ <text x="45" y="237" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11499 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11500 [Debug] > │ 0.0 │
23:19:36 #11501 [Debug] > │ </text> │
23:19:36 #11502 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11503 [Debug] > │ points="49,237 54,237 "/> │
23:19:36 #11504 [Debug] > │ <text x="45" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11505 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11506 [Debug] > │ 0.0 │
23:19:36 #11507 [Debug] > │ </text> │
23:19:36 #11508 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11509 [Debug] > │ points="49,189 54,189 "/> │
23:19:36 #11510 [Debug] > │ <text x="45" y="142" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11511 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11512 [Debug] > │ 0.0 │
23:19:36 #11513 [Debug] > │ </text> │
23:19:36 #11514 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11515 [Debug] > │ points="49,142 54,142 "/> │
23:19:36 #11516 [Debug] > │ <text x="45" y="94" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:36 #11517 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11518 [Debug] > │ 0.0 │
23:19:36 #11519 [Debug] > │ </text> │
23:19:36 #11520 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11521 [Debug] > │ points="49,94 54,94 "/> │
23:19:36 #11522 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11523 [Debug] > │ points="55,425 584,425 "/> │
23:19:36 #11524 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11525 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11526 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11527 [Debug] > │ 0.0 │
23:19:36 #11528 [Debug] > │ </text> │
23:19:36 #11529 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11530 [Debug] > │ points="69,425 69,430 "/> │
23:19:36 #11531 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11532 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11533 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11534 [Debug] > │ 1.0 │
23:19:36 #11535 [Debug] > │ </text> │
23:19:36 #11536 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11537 [Debug] > │ points="119,425 119,430 "/> │
23:19:36 #11538 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11539 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11540 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11541 [Debug] > │ 2.0 │
23:19:36 #11542 [Debug] > │ </text> │
23:19:36 #11543 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11544 [Debug] > │ points="169,425 169,430 "/> │
23:19:36 #11545 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11546 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11547 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11548 [Debug] > │ 3.0 │
23:19:36 #11549 [Debug] > │ </text> │
23:19:36 #11550 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11551 [Debug] > │ points="219,425 219,430 "/> │
23:19:36 #11552 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11553 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11554 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11555 [Debug] > │ 4.0 │
23:19:36 #11556 [Debug] > │ </text> │
23:19:36 #11557 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11558 [Debug] > │ points="269,425 269,430 "/> │
23:19:36 #11559 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11560 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11561 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11562 [Debug] > │ 5.0 │
23:19:36 #11563 [Debug] > │ </text> │
23:19:36 #11564 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11565 [Debug] > │ points="319,425 319,430 "/> │
23:19:36 #11566 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11567 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11568 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11569 [Debug] > │ 6.0 │
23:19:36 #11570 [Debug] > │ </text> │
23:19:36 #11571 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11572 [Debug] > │ points="369,425 369,430 "/> │
23:19:36 #11573 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11574 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11575 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11576 [Debug] > │ 7.0 │
23:19:36 #11577 [Debug] > │ </text> │
23:19:36 #11578 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11579 [Debug] > │ points="419,425 419,430 "/> │
23:19:36 #11580 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11581 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11582 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11583 [Debug] > │ 8.0 │
23:19:36 #11584 [Debug] > │ </text> │
23:19:36 #11585 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11586 [Debug] > │ points="469,425 469,430 "/> │
23:19:36 #11587 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11588 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11589 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11590 [Debug] > │ 9.0 │
23:19:36 #11591 [Debug] > │ </text> │
23:19:36 #11592 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11593 [Debug] > │ points="519,425 519,430 "/> │
23:19:36 #11594 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:36 #11595 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11596 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11597 [Debug] > │ 10.0 │
23:19:36 #11598 [Debug] > │ </text> │
23:19:36 #11599 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11600 [Debug] > │ points="569,425 569,430 "/> │
23:19:36 #11601 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11602 [Debug] > │ points="585,75 585,424 "/> │
23:19:36 #11603 [Debug] > │ <text x="595" y="380" dy="0.5ex" text-anchor="start" │
23:19:36 #11604 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11605 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11606 [Debug] > │ 0.0 │
23:19:36 #11607 [Debug] > │ </text> │
23:19:36 #11608 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11609 [Debug] > │ points="585,380 590,380 "/> │
23:19:36 #11610 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start" │
23:19:36 #11611 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11612 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11613 [Debug] > │ 0.0 │
23:19:36 #11614 [Debug] > │ </text> │
23:19:36 #11615 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11616 [Debug] > │ points="585,332 590,332 "/> │
23:19:36 #11617 [Debug] > │ <text x="595" y="285" dy="0.5ex" text-anchor="start" │
23:19:36 #11618 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11619 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11620 [Debug] > │ 0.0 │
23:19:36 #11621 [Debug] > │ </text> │
23:19:36 #11622 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11623 [Debug] > │ points="585,285 590,285 "/> │
23:19:36 #11624 [Debug] > │ <text x="595" y="237" dy="0.5ex" text-anchor="start" │
23:19:36 #11625 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11626 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11627 [Debug] > │ 0.0 │
23:19:36 #11628 [Debug] > │ </text> │
23:19:36 #11629 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11630 [Debug] > │ points="585,237 590,237 "/> │
23:19:36 #11631 [Debug] > │ <text x="595" y="189" dy="0.5ex" text-anchor="start" │
23:19:36 #11632 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11633 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11634 [Debug] > │ 0.0 │
23:19:36 #11635 [Debug] > │ </text> │
23:19:36 #11636 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11637 [Debug] > │ points="585,189 590,189 "/> │
23:19:36 #11638 [Debug] > │ <text x="595" y="142" dy="0.5ex" text-anchor="start" │
23:19:36 #11639 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11640 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11641 [Debug] > │ 0.0 │
23:19:36 #11642 [Debug] > │ </text> │
23:19:36 #11643 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11644 [Debug] > │ points="585,142 590,142 "/> │
23:19:36 #11645 [Debug] > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │
23:19:36 #11646 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:36 #11647 [Debug] > │ 0.0 │
23:19:36 #11648 [Debug] > │ </text> │
23:19:36 #11649 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:36 #11650 [Debug] > │ points="585,94 590,94 "/> │
23:19:36 #11651 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:36 #11652 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94 │
23:19:36 #11653 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94 │
23:19:36 #11654 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │
23:19:36 #11655 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │
23:19:36 #11656 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │
23:19:36 #11657 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │
23:19:36 #11658 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │
23:19:36 #11659 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │
23:19:36 #11660 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │
23:19:36 #11661 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │
23:19:36 #11662 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │
23:19:36 #11663 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │
23:19:36 #11664 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │
23:19:36 #11665 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │
23:19:36 #11666 [Debug] > │ 302,94 303,94 305,94 306,94 308,243 309,402 311,368 312,185 314,85 315,85 │
23:19:36 #11667 [Debug] > │ 317,85 318,85 320,85 321,85 323,85 324,85 326,85 327,85 329,85 330,85 332,85 │
23:19:36 #11668 [Debug] > │ 333,85 335,85 336,85 338,85 339,85 341,85 342,85 344,85 345,85 347,85 348,85 │
23:19:36 #11669 [Debug] > │ 350,85 351,85 353,85 354,85 356,85 357,85 359,85 360,85 362,85 363,85 365,85 │
23:19:36 #11670 [Debug] > │ 366,85 368,85 369,85 371,85 372,85 374,85 375,85 377,85 378,85 380,85 381,85 │
23:19:36 #11671 [Debug] > │ 383,85 384,85 386,85 387,85 389,85 390,85 392,85 393,85 395,85 396,85 398,85 │
23:19:36 #11672 [Debug] > │ 399,85 401,85 402,85 404,85 405,85 407,85 408,85 410,85 411,85 413,85 414,85 │
23:19:36 #11673 [Debug] > │ 416,85 417,85 419,85 420,85 422,85 423,85 425,85 426,85 428,85 429,85 431,85 │
23:19:36 #11674 [Debug] > │ 432,85 434,85 435,85 437,85 438,85 440,85 441,85 443,85 444,85 446,85 447,85 │
23:19:36 #11675 [Debug] > │ 449,85 450,85 452,85 453,85 455,85 456,85 458,85 459,85 461,85 462,85 464,85 │
23:19:36 #11676 [Debug] > │ 465,85 467,85 468,85 470,85 471,85 473,85 474,85 476,85 477,85 479,85 480,85 │
23:19:36 #11677 [Debug] > │ 482,85 483,85 485,85 486,85 488,85 489,85 491,85 492,85 494,85 495,85 497,85 │
23:19:36 #11678 [Debug] > │ 498,85 500,85 501,85 503,85 504,85 506,85 507,85 509,85 510,85 512,85 513,85 │
23:19:36 #11679 [Debug] > │ 515,85 516,85 518,85 519,85 521,85 522,85 524,85 525,85 527,85 528,85 530,85 │
23:19:36 #11680 [Debug] > │ 531,85 533,85 534,85 536,85 537,85 539,85 540,85 542,85 543,85 545,85 546,85 │
23:19:36 #11681 [Debug] > │ 548,85 549,85 551,85 552,85 554,85 555,85 557,85 558,85 560,85 561,85 563,85 │
23:19:36 #11682 [Debug] > │ 564,85 566,85 567,85 569,85 "/> │
23:19:36 #11683 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:36 #11684 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94 │
23:19:36 #11685 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94 │
23:19:36 #11686 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │
23:19:36 #11687 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │
23:19:36 #11688 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │
23:19:36 #11689 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │
23:19:36 #11690 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │
23:19:36 #11691 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │
23:19:36 #11692 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │
23:19:36 #11693 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │
23:19:36 #11694 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │
23:19:36 #11695 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │
23:19:36 #11696 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │
23:19:36 #11697 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │
23:19:36 #11698 [Debug] > │ 302,94 303,94 305,94 306,157 308,335 309,415 311,298 312,130 314,104 315,104 │
23:19:36 #11699 [Debug] > │ 317,104 318,104 320,104 321,104 323,104 324,104 326,104 327,104 329,104 │
23:19:36 #11700 [Debug] > │ 330,104 332,104 333,104 335,104 336,104 338,104 339,104 341,104 342,104 │
23:19:36 #11701 [Debug] > │ 344,104 345,104 347,104 348,104 350,104 351,104 353,104 354,104 356,104 │
23:19:36 #11702 [Debug] > │ 357,104 359,104 360,104 362,104 363,104 365,104 366,104 368,104 369,104 │
23:19:36 #11703 [Debug] > │ 371,104 372,104 374,104 375,104 377,104 378,104 380,104 381,104 383,104 │
23:19:36 #11704 [Debug] > │ 384,104 386,104 387,104 389,104 390,104 392,104 393,104 395,104 396,104 │
23:19:36 #11705 [Debug] > │ 398,104 399,104 401,104 402,104 404,104 405,104 407,104 408,104 410,104 │
23:19:36 #11706 [Debug] > │ 411,104 413,104 414,104 416,104 417,104 419,104 420,104 422,104 423,104 │
23:19:36 #11707 [Debug] > │ 425,104 426,104 428,104 429,104 431,104 432,104 434,104 435,104 437,104 │
23:19:36 #11708 [Debug] > │ 438,104 440,104 441,104 443,104 444,104 446,104 447,104 449,104 450,104 │
23:19:36 #11709 [Debug] > │ 452,104 453,104 455,104 456,104 458,104 459,104 461,104 462,104 464,104 │
23:19:36 #11710 [Debug] > │ 465,104 467,104 468,104 470,104 471,104 473,104 474,104 476,104 477,104 │
23:19:36 #11711 [Debug] > │ 479,104 480,104 482,104 483,104 485,104 486,104 488,104 489,104 491,104 │
23:19:36 #11712 [Debug] > │ 492,104 494,104 495,104 497,104 498,104 500,104 501,104 503,104 504,104 │
23:19:36 #11713 [Debug] > │ 506,104 507,104 509,104 510,104 512,104 513,104 515,104 516,104 518,104 │
23:19:36 #11714 [Debug] > │ 519,104 521,104 522,104 524,104 525,104 527,104 528,104 530,104 531,104 │
23:19:36 #11715 [Debug] > │ 533,104 534,104 536,104 537,104 539,104 540,104 542,104 543,104 545,104 │
23:19:36 #11716 [Debug] > │ 546,104 548,104 549,104 551,104 552,104 554,104 555,104 557,104 558,104 │
23:19:36 #11717 [Debug] > │ 560,104 561,104 563,104 564,104 566,104 567,104 569,104 "/> │
23:19:36 #11718 [Debug] > │ <rect x="459" y="227" width="121" height="45" opacity="1" fill="none" │
23:19:36 #11719 [Debug] > │ stroke="#FFFFFF"/> │
23:19:36 #11720 [Debug] > │ <text x="499" y="237" dy="0.76em" text-anchor="start" │
23:19:36 #11721 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11722 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11723 [Debug] > │ euler-cromer │
23:19:36 #11724 [Debug] > │ </text> │
23:19:36 #11725 [Debug] > │ <text x="499" y="252" dy="0.76em" text-anchor="start" │
23:19:36 #11726 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:36 #11727 [Debug] > │ fill="#FFFFFF"> │
23:19:36 #11728 [Debug] > │ runge-kutta 4 │
23:19:36 #11729 [Debug] > │ </text> │
23:19:36 #11730 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:36 #11731 [Debug] > │ points="469,242 489,242 "/> │
23:19:36 #11732 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:36 #11733 [Debug] > │ points="469,257 489,257 "/> │
23:19:36 #11734 [Debug] > │ </svg> │
23:19:36 #11735 [Debug] > │ │
23:19:36 #11736 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:36 #11737 [Debug] >
23:19:36 #11738 [Debug] > ╭─[ 1.88s - stdout ]───────────────────────────────────────────────────────────╮
23:19:36 #11739 [Debug] > │ type UH0 = │
23:19:36 #11740 [Debug] > │ | UH0_0 of float * float * float * float * float * float * float * float │
23:19:36 #11741 [Debug] > │ * float * UH0 │
23:19:36 #11742 [Debug] > │ | UH0_1 │
23:19:36 #11743 [Debug] > │ and UH1 = │
23:19:36 #11744 [Debug] > │ | UH1_0 of float * float * float * float * float * float * float * float │
23:19:36 #11745 [Debug] > │ * float * UH1 │
23:19:36 #11746 [Debug] > │ | UH1_1 │
23:19:36 #11747 [Debug] > │ and UH2 = │
23:19:36 #11748 [Debug] > │ | UH2_0 of float * float * float * float * float * float * float * float │
23:19:36 #11749 [Debug] > │ * float * float * float * float * float * float * float * float * float * │
23:19:36 #11750 [Debug] > │ float * UH2 │
23:19:36 #11751 [Debug] > │ | UH2_1 │
23:19:36 #11752 [Debug] > │ and UH3 = │
23:19:36 #11753 [Debug] > │ | UH3_0 of int32 * float * float * float * float * float * float * float │
23:19:36 #11754 [Debug] > │ * float * float * UH3 │
23:19:36 #11755 [Debug] > │ | UH3_1 │
23:19:36 #11756 [Debug] > │ and [<Struct>] US0 = │
23:19:36 #11757 [Debug] > │ | US0_0 │
23:19:36 #11758 [Debug] > │ | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
23:19:36 #11759 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
23:19:36 #11760 [Debug] > │ and UH4 = │
23:19:36 #11761 [Debug] > │ | UH4_0 of UH0 * UH4 │
23:19:36 #11762 [Debug] > │ | UH4_1 │
23:19:36 #11763 [Debug] > │ and UH5 = │
23:19:36 #11764 [Debug] > │ | UH5_0 of float * float * UH5 │
23:19:36 #11765 [Debug] > │ | UH5_1 │
23:19:36 #11766 [Debug] > │ and UH6 = │
23:19:36 #11767 [Debug] > │ | UH6_0 of float * UH6 │
23:19:36 #11768 [Debug] > │ | UH6_1 │
23:19:36 #11769 [Debug] > │ let rec method2 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:36 #11770 [Debug] > │ match v0 with │
23:19:36 #11771 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:36 #11772 [Debug] > │ let v12 : UH0 = UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
23:19:36 #11773 [Debug] > │ method2(v11, v12) │
23:19:36 #11774 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #11775 [Debug] > │ v1 │
23:19:36 #11776 [Debug] > │ and method1 (v0 : float, v1 : UH0, v2 : UH1, v3 : UH0) : UH0 = │
23:19:36 #11777 [Debug] > │ match v2 with │
23:19:36 #11778 [Debug] > │ | UH1_0(v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *) │
23:19:36 #11779 [Debug] > │ match v3 with │
23:19:36 #11780 [Debug] > │ | UH0_0(v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) -> (* Cons │
23:19:36 #11781 [Debug] > │ *) │
23:19:36 #11782 [Debug] > │ let v24 : float = v9 * v0 │
23:19:36 #11783 [Debug] > │ let v25 : float = v19 + v24 │
23:19:36 #11784 [Debug] > │ let v26 : float = v0 * v6 │
23:19:36 #11785 [Debug] > │ let v27 : float = v0 * v7 │
23:19:36 #11786 [Debug] > │ let v28 : float = v0 * v8 │
23:19:36 #11787 [Debug] > │ let v29 : float = v16 + v26 │
23:19:36 #11788 [Debug] > │ let v30 : float = v17 + v27 │
23:19:36 #11789 [Debug] > │ let v31 : float = v18 + v28 │
23:19:36 #11790 [Debug] > │ let v32 : float = v0 * v10 │
23:19:36 #11791 [Debug] > │ let v33 : float = v0 * v11 │
23:19:36 #11792 [Debug] > │ let v34 : float = v0 * v12 │
23:19:36 #11793 [Debug] > │ let v35 : float = v20 + v32 │
23:19:36 #11794 [Debug] > │ let v36 : float = v21 + v33 │
23:19:36 #11795 [Debug] > │ let v37 : float = v22 + v34 │
23:19:36 #11796 [Debug] > │ let v38 : UH0 = UH0_0(v14, v15, v29, v30, v31, v25, v35, v36, │
23:19:36 #11797 [Debug] > │ v37, v1) │
23:19:36 #11798 [Debug] > │ method1(v0, v38, v13, v23) │
23:19:36 #11799 [Debug] > │ | _ -> │
23:19:36 #11800 [Debug] > │ let v40 : UH0 = UH0_1 │
23:19:36 #11801 [Debug] > │ method2(v1, v40) │
23:19:36 #11802 [Debug] > │ | _ -> │
23:19:36 #11803 [Debug] > │ let v43 : UH0 = UH0_1 │
23:19:36 #11804 [Debug] > │ method2(v1, v43) │
23:19:36 #11805 [Debug] > │ and method4 (v0 : UH2, v1 : UH2) : UH2 = │
23:19:36 #11806 [Debug] > │ match v0 with │
23:19:36 #11807 [Debug] > │ | UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, │
23:19:36 #11808 [Debug] > │ v16, v17, v18, v19, v20) -> (* Cons *) │
23:19:36 #11809 [Debug] > │ let v21 : UH2 = UH2_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, │
23:19:36 #11810 [Debug] > │ v13, v14, v15, v16, v17, v18, v19, v1) │
23:19:36 #11811 [Debug] > │ method4(v20, v21) │
23:19:36 #11812 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:36 #11813 [Debug] > │ v1 │
23:19:36 #11814 [Debug] > │ and method3 (v0 : UH2, v1 : UH0, v2 : UH0) : UH2 = │
23:19:36 #11815 [Debug] > │ match v1 with │
23:19:36 #11816 [Debug] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
23:19:36 #11817 [Debug] > │ match v2 with │
23:19:36 #11818 [Debug] > │ | UH0_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │
23:19:36 #11819 [Debug] > │ *) │
23:19:36 #11820 [Debug] > │ let v23 : UH2 = UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v13, │
23:19:36 #11821 [Debug] > │ v14, v15, v16, v17, v18, v19, v20, v21, v0) │
23:19:36 #11822 [Debug] > │ method3(v23, v12, v22) │
23:19:36 #11823 [Debug] > │ | _ -> │
23:19:36 #11824 [Debug] > │ let v25 : UH2 = UH2_1 │
23:19:36 #11825 [Debug] > │ method4(v0, v25) │
23:19:36 #11826 [Debug] > │ | _ -> │
23:19:36 #11827 [Debug] > │ let v28 : UH2 = UH2_1 │
23:19:36 #11828 [Debug] > │ method4(v0, v28) │
23:19:36 #11829 [Debug] > │ and method5 (v0 : float, v1 : UH2, v2 : UH0) : UH0 = │
23:19:36 #11830 [Debug] > │ match v1 with │
23:19:36 #11831 [Debug] > │ | UH2_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, │
23:19:36 #11832 [Debug] > │ v17, v18, v19, v20, v21) -> (* Cons *) │
23:19:36 #11833 [Debug] > │ let v22 : UH0 = method5(v0, v21, v2) │
23:19:36 #11834 [Debug] > │ let v23 : float = v0 * v18 │
23:19:36 #11835 [Debug] > │ let v24 : float = v0 * v19 │
23:19:36 #11836 [Debug] > │ let v25 : float = v0 * v20 │
23:19:36 #11837 [Debug] > │ let v26 : float = v5 + v23 │
23:19:36 #11838 [Debug] > │ let v27 : float = v6 + v24 │
23:19:36 #11839 [Debug] > │ let v28 : float = v7 + v25 │
23:19:36 #11840 [Debug] > │ UH0_0(v12, v13, v26, v27, v28, v17, v18, v19, v20, v22) │
23:19:36 #11841 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:36 #11842 [Debug] > │ v2 │
23:19:36 #11843 [Debug] > │ and closure2 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
23:19:36 #11844 [Debug] > │ let v3 : UH1 = v1 v2 │
23:19:36 #11845 [Debug] > │ let v4 : UH0 = UH0_1 │
23:19:36 #11846 [Debug] > │ let v5 : UH0 = method1(v0, v4, v3, v2) │
23:19:36 #11847 [Debug] > │ let v6 : UH2 = UH2_1 │
23:19:36 #11848 [Debug] > │ let v7 : UH2 = method3(v6, v2, v5) │
23:19:36 #11849 [Debug] > │ let v8 : UH0 = UH0_1 │
23:19:36 #11850 [Debug] > │ let v9 : UH0 = method5(v0, v7, v8) │
23:19:36 #11851 [Debug] > │ v9 │
23:19:36 #11852 [Debug] > │ and closure1 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
23:19:36 #11853 [Debug] > │ closure2(v0, v1) │
23:19:36 #11854 [Debug] > │ and closure0 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
23:19:36 #11855 [Debug] > │ closure1(v0) │
23:19:36 #11856 [Debug] > │ and method6 (v0 : UH0, v1 : UH3, v2 : int32) : struct (UH3 * int32) = │
23:19:36 #11857 [Debug] > │ match v0 with │
23:19:36 #11858 [Debug] > │ | UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
23:19:36 #11859 [Debug] > │ let v13 : int32 = v2 + 1 │
23:19:36 #11860 [Debug] > │ let v14 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1) │
23:19:36 #11861 [Debug] > │ method6(v12, v14, v13) │
23:19:36 #11862 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #11863 [Debug] > │ struct (v1, v2) │
23:19:36 #11864 [Debug] > │ and method7 (v0 : UH3, v1 : UH3) : UH3 = │
23:19:36 #11865 [Debug] > │ match v0 with │
23:19:36 #11866 [Debug] > │ | UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
23:19:36 #11867 [Debug] > │ let v13 : UH3 = UH3_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v1) │
23:19:36 #11868 [Debug] > │ method7(v12, v13) │
23:19:36 #11869 [Debug] > │ | UH3_1 -> (* Nil *) │
23:19:36 #11870 [Debug] > │ v1 │
23:19:36 #11871 [Debug] > │ and closure4 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
23:19:36 #11872 [Debug] > │ : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 : │
23:19:36 #11873 [Debug] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16 │
23:19:36 #11874 [Debug] > │ : float, v17 : float) : struct (float * float * float) = │
23:19:36 #11875 [Debug] > │ let v18 : float = -1.0 * v2 │
23:19:36 #11876 [Debug] > │ let v19 : float = -1.0 * v3 │
23:19:36 #11877 [Debug] > │ let v20 : float = -1.0 * v4 │
23:19:36 #11878 [Debug] > │ let v21 : float = v11 + v18 │
23:19:36 #11879 [Debug] > │ let v22 : float = v12 + v19 │
23:19:36 #11880 [Debug] > │ let v23 : float = v13 + v20 │
23:19:36 #11881 [Debug] > │ let v24 : float = v21 * v21 │
23:19:36 #11882 [Debug] > │ let v25 : float = v22 * v22 │
23:19:36 #11883 [Debug] > │ let v26 : float = v24 + v25 │
23:19:36 #11884 [Debug] > │ let v27 : float = v23 * v23 │
23:19:36 #11885 [Debug] > │ let v28 : float = v26 + v27 │
23:19:36 #11886 [Debug] > │ let v29 : float = sqrt v28 │
23:19:36 #11887 [Debug] > │ let v30 : bool = v29 >= 0.06 │
23:19:36 #11888 [Debug] > │ let v33 : float = │
23:19:36 #11889 [Debug] > │ if v30 then │
23:19:36 #11890 [Debug] > │ 0.0 │
23:19:36 #11891 [Debug] > │ else │
23:19:36 #11892 [Debug] > │ let v31 : float = v29 - 0.06 │
23:19:36 #11893 [Debug] > │ let v32 : float = -30.0 * v31 │
23:19:36 #11894 [Debug] > │ v32 │
23:19:36 #11895 [Debug] > │ let v34 : float = v33 * v21 │
23:19:36 #11896 [Debug] > │ let v35 : float = v33 * v22 │
23:19:36 #11897 [Debug] > │ let v36 : float = v33 * v23 │
23:19:36 #11898 [Debug] > │ let v37 : float = v34 / v29 │
23:19:36 #11899 [Debug] > │ let v38 : float = v35 / v29 │
23:19:36 #11900 [Debug] > │ let v39 : float = v36 / v29 │
23:19:36 #11901 [Debug] > │ struct (v37, v38, v39) │
23:19:36 #11902 [Debug] > │ and closure5 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
23:19:36 #11903 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
23:19:36 #11904 [Debug] > │ float * float) = │
23:19:36 #11905 [Debug] > │ struct (0.0, 0.0, 0.0) │
23:19:36 #11906 [Debug] > │ and method8 (v0 : UH0, v1 : UH3, v2 : UH1) : UH1 = │
23:19:36 #11907 [Debug] > │ match v1 with │
23:19:36 #11908 [Debug] > │ | UH3_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Cons *) │
23:19:36 #11909 [Debug] > │ let v14 : UH1 = method8(v0, v13, v2) │
23:19:36 #11910 [Debug] > │ let v15 : bool = v3 = 0 │
23:19:36 #11911 [Debug] > │ let v134 : (struct (float * float * float * float * float * float * │
23:19:36 #11912 [Debug] > │ float * float * float) -> struct (float * float * float)) = │
23:19:36 #11913 [Debug] > │ if v15 then │
23:19:36 #11914 [Debug] > │ let v42 : US0 = │
23:19:36 #11915 [Debug] > │ match v0 with │
23:19:36 #11916 [Debug] > │ | UH0_0(v16, v17, v18, v19, v20, v21, v22, v23, v24, │
23:19:36 #11917 [Debug] > │ v25) -> (* Cons *) │
23:19:36 #11918 [Debug] > │ match v25 with │
23:19:36 #11919 [Debug] > │ | UH0_0(v26, v27, v28, v29, v30, v31, v32, v33, v34, │
23:19:36 #11920 [Debug] > │ v35) -> (* Cons *) │
23:19:36 #11921 [Debug] > │ US0_1(v26, v27, v28, v29, v30, v31, v32, v33, │
23:19:36 #11922 [Debug] > │ v34) │
23:19:36 #11923 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #11924 [Debug] > │ US0_0 │
23:19:36 #11925 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #11926 [Debug] > │ US0_0 │
23:19:36 #11927 [Debug] > │ let struct (v70 : float, v71 : float, v72 : float, v73 : │
23:19:36 #11928 [Debug] > │ float, v74 : float, v75 : float, v76 : float, v77 : float, v78 : float) = │
23:19:36 #11929 [Debug] > │ match v42 with │
23:19:36 #11930 [Debug] > │ | US0_0 -> (* None *) │
23:19:36 #11931 [Debug] > │ failwith<struct (float * float * float * float * │
23:19:36 #11932 [Debug] > │ float * float * float * float * float)> "Option does not have a value." │
23:19:36 #11933 [Debug] > │ | US0_1(v43, v44, v45, v46, v47, v48, v49, v50, v51) -> │
23:19:36 #11934 [Debug] > │ (* Some *) │
23:19:36 #11935 [Debug] > │ struct (v43, v44, v45, v46, v47, v48, v49, v50, v51) │
23:19:36 #11936 [Debug] > │ closure4(v70, v71, v72, v73, v74, v75, v76, v77, v78) │
23:19:36 #11937 [Debug] > │ else │
23:19:36 #11938 [Debug] > │ let v80 : bool = v3 = 1 │
23:19:36 #11939 [Debug] > │ if v80 then │
23:19:36 #11940 [Debug] > │ let v94 : US0 = │
23:19:36 #11941 [Debug] > │ match v0 with │
23:19:36 #11942 [Debug] > │ | UH0_0(v81, v82, v83, v84, v85, v86, v87, v88, v89, │
23:19:36 #11943 [Debug] > │ v90) -> (* Cons *) │
23:19:36 #11944 [Debug] > │ US0_1(v81, v82, v83, v84, v85, v86, v87, v88, │
23:19:36 #11945 [Debug] > │ v89) │
23:19:36 #11946 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #11947 [Debug] > │ US0_0 │
23:19:36 #11948 [Debug] > │ let struct (v122 : float, v123 : float, v124 : float, │
23:19:36 #11949 [Debug] > │ v125 : float, v126 : float, v127 : float, v128 : float, v129 : float, v130 : │
23:19:36 #11950 [Debug] > │ float) = │
23:19:36 #11951 [Debug] > │ match v94 with │
23:19:36 #11952 [Debug] > │ | US0_0 -> (* None *) │
23:19:36 #11953 [Debug] > │ failwith<struct (float * float * float * float * │
23:19:36 #11954 [Debug] > │ float * float * float * float * float)> "Option does not have a value." │
23:19:36 #11955 [Debug] > │ | US0_1(v95, v96, v97, v98, v99, v100, v101, v102, │
23:19:36 #11956 [Debug] > │ v103) -> (* Some *) │
23:19:36 #11957 [Debug] > │ struct (v95, v96, v97, v98, v99, v100, v101, │
23:19:36 #11958 [Debug] > │ v102, v103) │
23:19:36 #11959 [Debug] > │ closure4(v122, v123, v124, v125, v126, v127, v128, v129, │
23:19:36 #11960 [Debug] > │ v130) │
23:19:36 #11961 [Debug] > │ else │
23:19:36 #11962 [Debug] > │ closure5() │
23:19:36 #11963 [Debug] > │ let struct (v135 : float, v136 : float, v137 : float) = v134 struct │
23:19:36 #11964 [Debug] > │ (v4, v5, v6, v7, v8, v9, v10, v11, v12) │
23:19:36 #11965 [Debug] > │ let v138 : float = v135 / v5 │
23:19:36 #11966 [Debug] > │ let v139 : float = v136 / v5 │
23:19:36 #11967 [Debug] > │ let v140 : float = v137 / v5 │
23:19:36 #11968 [Debug] > │ UH1_0(0.0, 0.0, v10, v11, v12, 1.0, v138, v139, v140, v14) │
23:19:36 #11969 [Debug] > │ | UH3_1 -> (* Nil *) │
23:19:36 #11970 [Debug] > │ v2 │
23:19:36 #11971 [Debug] > │ and closure3 () (v0 : UH0) : UH1 = │
23:19:36 #11972 [Debug] > │ let v1 : UH3 = UH3_1 │
23:19:36 #11973 [Debug] > │ let v2 : int32 = 0 │
23:19:36 #11974 [Debug] > │ let struct (v3 : UH3, v4 : int32) = method6(v0, v1, v2) │
23:19:36 #11975 [Debug] > │ let v5 : UH3 = UH3_1 │
23:19:36 #11976 [Debug] > │ let v6 : UH3 = method7(v3, v5) │
23:19:36 #11977 [Debug] > │ let v7 : UH1 = UH1_1 │
23:19:36 #11978 [Debug] > │ let v8 : UH1 = method8(v0, v6, v7) │
23:19:36 #11979 [Debug] > │ v8 │
23:19:36 #11980 [Debug] > │ and method10 (v0 : (UH0 -> UH0), v1 : UH0, v2 : int32) : UH0 = │
23:19:36 #11981 [Debug] > │ let v3 : bool = v2 <= 0 │
23:19:36 #11982 [Debug] > │ if v3 then │
23:19:36 #11983 [Debug] > │ v1 │
23:19:36 #11984 [Debug] > │ else │
23:19:36 #11985 [Debug] > │ let v4 : UH0 = v0 v1 │
23:19:36 #11986 [Debug] > │ let v5 : int32 = v2 - 1 │
23:19:36 #11987 [Debug] > │ method10(v0, v4, v5) │
23:19:36 #11988 [Debug] > │ and method11 (v0 : UH4, v1 : UH4) : UH4 = │
23:19:36 #11989 [Debug] > │ match v0 with │
23:19:36 #11990 [Debug] > │ | UH4_0(v2, v3) -> (* Cons *) │
23:19:36 #11991 [Debug] > │ let v4 : UH4 = UH4_0(v2, v1) │
23:19:36 #11992 [Debug] > │ method11(v3, v4) │
23:19:36 #11993 [Debug] > │ | UH4_1 -> (* Nil *) │
23:19:36 #11994 [Debug] > │ v1 │
23:19:36 #11995 [Debug] > │ and method9 (v0 : (UH0 -> UH0), v1 : UH4, v2 : int32) : UH4 = │
23:19:36 #11996 [Debug] > │ let v3 : float = 0.0 │
23:19:36 #11997 [Debug] > │ let v4 : float = 0.16 │
23:19:36 #11998 [Debug] > │ let v5 : float = 0.0 │
23:19:36 #11999 [Debug] > │ let v6 : float = 0.0 │
23:19:36 #12000 [Debug] > │ let v7 : float = 0.0 │
23:19:36 #12001 [Debug] > │ let v8 : float = 0.0 │
23:19:36 #12002 [Debug] > │ let v9 : float = 0.2 │
23:19:36 #12003 [Debug] > │ let v10 : float = 0.0 │
23:19:36 #12004 [Debug] > │ let v11 : float = 0.0 │
23:19:36 #12005 [Debug] > │ let v12 : float = 1.0 │
23:19:36 #12006 [Debug] > │ let v13 : float = 0.02 │
23:19:36 #12007 [Debug] > │ let v14 : float = 0.0 │
23:19:36 #12008 [Debug] > │ let v15 : float = 0.0 │
23:19:36 #12009 [Debug] > │ let v16 : float = 0.0 │
23:19:36 #12010 [Debug] > │ let v17 : float = 0.0 │
23:19:36 #12011 [Debug] > │ let v18 : UH0 = UH0_1 │
23:19:36 #12012 [Debug] > │ let v19 : UH0 = UH0_0(v3, v4, v12, v13, v14, v8, v15, v16, v17, v18) │
23:19:36 #12013 [Debug] > │ let v20 : UH0 = UH0_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v19) │
23:19:36 #12014 [Debug] > │ let v21 : UH0 = method10(v0, v20, v2) │
23:19:36 #12015 [Debug] > │ let v35 : US0 = │
23:19:36 #12016 [Debug] > │ match v21 with │
23:19:36 #12017 [Debug] > │ | UH0_0(v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) -> (* Cons │
23:19:36 #12018 [Debug] > │ *) │
23:19:36 #12019 [Debug] > │ US0_1(v22, v23, v24, v25, v26, v27, v28, v29, v30) │
23:19:36 #12020 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #12021 [Debug] > │ US0_0 │
23:19:36 #12022 [Debug] > │ let struct (v63 : float, v64 : float, v65 : float, v66 : float, v67 : │
23:19:36 #12023 [Debug] > │ float, v68 : float, v69 : float, v70 : float, v71 : float) = │
23:19:36 #12024 [Debug] > │ match v35 with │
23:19:36 #12025 [Debug] > │ | US0_0 -> (* None *) │
23:19:36 #12026 [Debug] > │ failwith<struct (float * float * float * float * float * float * │
23:19:36 #12027 [Debug] > │ float * float * float)> "Option does not have a value." │
23:19:36 #12028 [Debug] > │ | US0_1(v36, v37, v38, v39, v40, v41, v42, v43, v44) -> (* Some *) │
23:19:36 #12029 [Debug] > │ struct (v36, v37, v38, v39, v40, v41, v42, v43, v44) │
23:19:36 #12030 [Debug] > │ let v72 : bool = v68 <= 10.0 │
23:19:36 #12031 [Debug] > │ if v72 then │
23:19:36 #12032 [Debug] > │ let v73 : UH4 = UH4_0(v21, v1) │
23:19:36 #12033 [Debug] > │ let v74 : int32 = v2 + 1 │
23:19:36 #12034 [Debug] > │ method9(v0, v73, v74) │
23:19:36 #12035 [Debug] > │ else │
23:19:36 #12036 [Debug] > │ let v76 : UH4 = UH4_1 │
23:19:36 #12037 [Debug] > │ method11(v1, v76) │
23:19:36 #12038 [Debug] > │ and method13 (v0 : UH0, v1 : UH6) : UH6 = │
23:19:36 #12039 [Debug] > │ match v0 with │
23:19:36 #12040 [Debug] > │ | UH0_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:36 #12041 [Debug] > │ let v12 : UH6 = method13(v11, v1) │
23:19:36 #12042 [Debug] > │ let v13 : float = v8 * v8 │
23:19:36 #12043 [Debug] > │ let v14 : float = v9 * v9 │
23:19:36 #12044 [Debug] > │ let v15 : float = v13 + v14 │
23:19:36 #12045 [Debug] > │ let v16 : float = v10 * v10 │
23:19:36 #12046 [Debug] > │ let v17 : float = v15 + v16 │
23:19:36 #12047 [Debug] > │ let v18 : float = sqrt v17 │
23:19:36 #12048 [Debug] > │ let v19 : float = 0.5 * v3 │
23:19:36 #12049 [Debug] > │ let v20 : float = v18 ** 2.0 │
23:19:36 #12050 [Debug] > │ let v21 : float = v19 * v20 │
23:19:36 #12051 [Debug] > │ UH6_0(v21, v12) │
23:19:36 #12052 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #12053 [Debug] > │ v1 │
23:19:36 #12054 [Debug] > │ and method14 (v0 : UH6, v1 : float) : float = │
23:19:36 #12055 [Debug] > │ match v0 with │
23:19:36 #12056 [Debug] > │ | UH6_0(v2, v3) -> (* Cons *) │
23:19:36 #12057 [Debug] > │ let v4 : float = v1 + v2 │
23:19:36 #12058 [Debug] > │ method14(v3, v4) │
23:19:36 #12059 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:36 #12060 [Debug] > │ v1 │
23:19:36 #12061 [Debug] > │ and method12 (v0 : UH4, v1 : UH5) : UH5 = │
23:19:36 #12062 [Debug] > │ match v0 with │
23:19:36 #12063 [Debug] > │ | UH4_0(v2, v3) -> (* Cons *) │
23:19:36 #12064 [Debug] > │ let v4 : UH5 = method12(v3, v1) │
23:19:36 #12065 [Debug] > │ let v18 : US0 = │
23:19:36 #12066 [Debug] > │ match v2 with │
23:19:36 #12067 [Debug] > │ | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons │
23:19:36 #12068 [Debug] > │ *) │
23:19:36 #12069 [Debug] > │ US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
23:19:36 #12070 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #12071 [Debug] > │ US0_0 │
23:19:36 #12072 [Debug] > │ let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50 │
23:19:36 #12073 [Debug] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) = │
23:19:36 #12074 [Debug] > │ match v18 with │
23:19:36 #12075 [Debug] > │ | US0_0 -> (* None *) │
23:19:36 #12076 [Debug] > │ failwith<struct (float * float * float * float * float * │
23:19:36 #12077 [Debug] > │ float * float * float * float)> "Option does not have a value." │
23:19:36 #12078 [Debug] > │ | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some │
23:19:36 #12079 [Debug] > │ *) │
23:19:36 #12080 [Debug] > │ struct (v19, v20, v21, v22, v23, v24, v25, v26, v27) │
23:19:36 #12081 [Debug] > │ let v55 : UH6 = UH6_1 │
23:19:36 #12082 [Debug] > │ let v56 : UH6 = method13(v2, v55) │
23:19:36 #12083 [Debug] > │ let v57 : float = 0.0 │
23:19:36 #12084 [Debug] > │ let v58 : float = method14(v56, v57) │
23:19:36 #12085 [Debug] > │ UH5_0(v51, v58, v4) │
23:19:36 #12086 [Debug] > │ | UH4_1 -> (* Nil *) │
23:19:36 #12087 [Debug] > │ v1 │
23:19:36 #12088 [Debug] > │ and method15 (v0 : UH5, v1 : UH6, v2 : UH6) : struct (UH6 * UH6) = │
23:19:36 #12089 [Debug] > │ match v0 with │
23:19:36 #12090 [Debug] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
23:19:36 #12091 [Debug] > │ let v6 : UH6 = UH6_0(v3, v1) │
23:19:36 #12092 [Debug] > │ let v7 : UH6 = UH6_0(v4, v2) │
23:19:36 #12093 [Debug] > │ method15(v5, v6, v7) │
23:19:36 #12094 [Debug] > │ | UH5_1 -> (* Nil *) │
23:19:36 #12095 [Debug] > │ struct (v1, v2) │
23:19:36 #12096 [Debug] > │ and method16 (v0 : UH6, v1 : UH6) : UH6 = │
23:19:36 #12097 [Debug] > │ match v0 with │
23:19:36 #12098 [Debug] > │ | UH6_0(v2, v3) -> (* Cons *) │
23:19:36 #12099 [Debug] > │ let v4 : UH6 = UH6_0(v2, v1) │
23:19:36 #12100 [Debug] > │ method16(v3, v4) │
23:19:36 #12101 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:36 #12102 [Debug] > │ v1 │
23:19:36 #12103 [Debug] > │ and method18 (v0 : UH1, v1 : UH1) : UH1 = │
23:19:36 #12104 [Debug] > │ match v0 with │
23:19:36 #12105 [Debug] > │ | UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) -> (* Cons *) │
23:19:36 #12106 [Debug] > │ let v12 : UH1 = UH1_0(v2, v3, v4, v5, v6, v7, v8, v9, v10, v1) │
23:19:36 #12107 [Debug] > │ method18(v11, v12) │
23:19:36 #12108 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:36 #12109 [Debug] > │ v1 │
23:19:36 #12110 [Debug] > │ and method17 (v0 : UH1, v1 : UH1, v2 : UH1) : UH1 = │
23:19:36 #12111 [Debug] > │ match v1 with │
23:19:36 #12112 [Debug] > │ | UH1_0(v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Cons *) │
23:19:36 #12113 [Debug] > │ match v2 with │
23:19:36 #12114 [Debug] > │ | UH1_0(v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Cons │
23:19:36 #12115 [Debug] > │ *) │
23:19:36 #12116 [Debug] > │ let v23 : float = v3 + v13 │
23:19:36 #12117 [Debug] > │ let v24 : float = v4 + v14 │
23:19:36 #12118 [Debug] > │ let v25 : float = v8 + v18 │
23:19:36 #12119 [Debug] > │ let v26 : float = v5 + v15 │
23:19:36 #12120 [Debug] > │ let v27 : float = v6 + v16 │
23:19:36 #12121 [Debug] > │ let v28 : float = v7 + v17 │
23:19:36 #12122 [Debug] > │ let v29 : float = v9 + v19 │
23:19:36 #12123 [Debug] > │ let v30 : float = v10 + v20 │
23:19:36 #12124 [Debug] > │ let v31 : float = v11 + v21 │
23:19:36 #12125 [Debug] > │ let v32 : UH1 = UH1_0(v23, v24, v26, v27, v28, v25, v29, v30, │
23:19:36 #12126 [Debug] > │ v31, v0) │
23:19:36 #12127 [Debug] > │ method17(v32, v12, v22) │
23:19:36 #12128 [Debug] > │ | _ -> │
23:19:36 #12129 [Debug] > │ let v34 : UH1 = UH1_1 │
23:19:36 #12130 [Debug] > │ method18(v0, v34) │
23:19:36 #12131 [Debug] > │ | _ -> │
23:19:36 #12132 [Debug] > │ let v37 : UH1 = UH1_1 │
23:19:36 #12133 [Debug] > │ method18(v0, v37) │
23:19:36 #12134 [Debug] > │ and closure8 (v0 : float, v1 : (UH0 -> UH1)) (v2 : UH0) : UH0 = │
23:19:36 #12135 [Debug] > │ let v3 : UH1 = v1 v2 │
23:19:36 #12136 [Debug] > │ let v4 : float = v0 / 2.0 │
23:19:36 #12137 [Debug] > │ let v5 : UH0 = UH0_1 │
23:19:36 #12138 [Debug] > │ let v6 : UH0 = method1(v4, v5, v3, v2) │
23:19:36 #12139 [Debug] > │ let v7 : UH1 = v1 v6 │
23:19:36 #12140 [Debug] > │ let v8 : UH0 = UH0_1 │
23:19:36 #12141 [Debug] > │ let v9 : UH0 = method1(v4, v8, v7, v2) │
23:19:36 #12142 [Debug] > │ let v10 : UH1 = v1 v9 │
23:19:36 #12143 [Debug] > │ let v11 : UH0 = UH0_1 │
23:19:36 #12144 [Debug] > │ let v12 : UH0 = method1(v0, v11, v10, v2) │
23:19:36 #12145 [Debug] > │ let v13 : UH1 = v1 v12 │
23:19:36 #12146 [Debug] > │ let v14 : float = v0 / 6.0 │
23:19:36 #12147 [Debug] > │ let v15 : UH1 = UH1_1 │
23:19:36 #12148 [Debug] > │ let v16 : UH1 = method17(v15, v3, v7) │
23:19:36 #12149 [Debug] > │ let v17 : UH1 = UH1_1 │
23:19:36 #12150 [Debug] > │ let v18 : UH1 = method17(v17, v16, v7) │
23:19:36 #12151 [Debug] > │ let v19 : UH1 = UH1_1 │
23:19:36 #12152 [Debug] > │ let v20 : UH1 = method17(v19, v18, v10) │
23:19:36 #12153 [Debug] > │ let v21 : UH1 = UH1_1 │
23:19:36 #12154 [Debug] > │ let v22 : UH1 = method17(v21, v20, v10) │
23:19:36 #12155 [Debug] > │ let v23 : UH1 = UH1_1 │
23:19:36 #12156 [Debug] > │ let v24 : UH1 = method17(v23, v22, v13) │
23:19:36 #12157 [Debug] > │ let v25 : UH0 = UH0_1 │
23:19:36 #12158 [Debug] > │ let v26 : UH0 = method1(v14, v25, v24, v2) │
23:19:36 #12159 [Debug] > │ v26 │
23:19:36 #12160 [Debug] > │ and closure7 (v0 : float) (v1 : (UH0 -> UH1)) : (UH0 -> UH0) = │
23:19:36 #12161 [Debug] > │ closure8(v0, v1) │
23:19:36 #12162 [Debug] > │ and closure6 () (v0 : float) : ((UH0 -> UH1) -> (UH0 -> UH0)) = │
23:19:36 #12163 [Debug] > │ closure7(v0) │
23:19:36 #12164 [Debug] > │ and method19 (v0 : UH4, v1 : UH5) : UH5 = │
23:19:36 #12165 [Debug] > │ match v0 with │
23:19:36 #12166 [Debug] > │ | UH4_0(v2, v3) -> (* Cons *) │
23:19:36 #12167 [Debug] > │ let v4 : UH5 = method19(v3, v1) │
23:19:36 #12168 [Debug] > │ let v18 : US0 = │
23:19:36 #12169 [Debug] > │ match v2 with │
23:19:36 #12170 [Debug] > │ | UH0_0(v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Cons │
23:19:36 #12171 [Debug] > │ *) │
23:19:36 #12172 [Debug] > │ US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
23:19:36 #12173 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:36 #12174 [Debug] > │ US0_0 │
23:19:36 #12175 [Debug] > │ let struct (v46 : float, v47 : float, v48 : float, v49 : float, v50 │
23:19:36 #12176 [Debug] > │ : float, v51 : float, v52 : float, v53 : float, v54 : float) = │
23:19:36 #12177 [Debug] > │ match v18 with │
23:19:36 #12178 [Debug] > │ | US0_0 -> (* None *) │
23:19:36 #12179 [Debug] > │ failwith<struct (float * float * float * float * float * │
23:19:36 #12180 [Debug] > │ float * float * float * float)> "Option does not have a value." │
23:19:36 #12181 [Debug] > │ | US0_1(v19, v20, v21, v22, v23, v24, v25, v26, v27) -> (* Some │
23:19:36 #12182 [Debug] > │ *) │
23:19:36 #12183 [Debug] > │ struct (v19, v20, v21, v22, v23, v24, v25, v26, v27) │
23:19:36 #12184 [Debug] > │ let v55 : UH6 = UH6_1 │
23:19:36 #12185 [Debug] > │ let v56 : UH6 = method13(v2, v55) │
23:19:36 #12186 [Debug] > │ let v57 : float = 0.0 │
23:19:36 #12187 [Debug] > │ let v58 : float = method14(v56, v57) │
23:19:36 #12188 [Debug] > │ UH5_0(v51, v58, v4) │
23:19:36 #12189 [Debug] > │ | UH4_1 -> (* Nil *) │
23:19:36 #12190 [Debug] > │ v1 │
23:19:36 #12191 [Debug] > │ and method21 (v0 : UH6, v1 : int32) : int32 = │
23:19:36 #12192 [Debug] > │ match v0 with │
23:19:36 #12193 [Debug] > │ | UH6_0(v2, v3) -> (* Cons *) │
23:19:36 #12194 [Debug] > │ let v4 : int32 = v1 + 1 │
23:19:36 #12195 [Debug] > │ method21(v3, v4) │
23:19:36 #12196 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:36 #12197 [Debug] > │ v1 │
23:19:36 #12198 [Debug] > │ and method22 (v0 : (float []), v1 : UH6, v2 : int32) : int32 = │
23:19:36 #12199 [Debug] > │ match v1 with │
23:19:36 #12200 [Debug] > │ | UH6_0(v3, v4) -> (* Cons *) │
23:19:36 #12201 [Debug] > │ v0.[int v2] <- v3 │
23:19:36 #12202 [Debug] > │ let v5 : int32 = v2 + 1 │
23:19:36 #12203 [Debug] > │ method22(v0, v4, v5) │
23:19:36 #12204 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:36 #12205 [Debug] > │ v2 │
23:19:36 #12206 [Debug] > │ and method20 (v0 : UH6) : (float []) = │
23:19:36 #12207 [Debug] > │ let v1 : int32 = 0 │
23:19:36 #12208 [Debug] > │ let v2 : int32 = method21(v0, v1) │
23:19:36 #12209 [Debug] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
23:19:36 #12210 [Debug] > │ let v4 : int32 = 0 │
23:19:36 #12211 [Debug] > │ let v5 : int32 = method22(v3, v0, v4) │
23:19:36 #12212 [Debug] > │ v3 │
23:19:36 #12213 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:36 #12214 [Debug] > │ []) * (float [])) [])) = │
23:19:36 #12215 [Debug] > │ let v0 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure0() │
23:19:36 #12216 [Debug] > │ let v1 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v0 0.03 │
23:19:36 #12217 [Debug] > │ let v2 : (UH0 -> UH1) = closure3() │
23:19:36 #12218 [Debug] > │ let v3 : (UH0 -> UH0) = v1 v2 │
23:19:36 #12219 [Debug] > │ let v4 : UH4 = UH4_1 │
23:19:36 #12220 [Debug] > │ let v5 : int32 = 0 │
23:19:36 #12221 [Debug] > │ let v6 : UH4 = method9(v3, v4, v5) │
23:19:36 #12222 [Debug] > │ let v7 : UH5 = UH5_1 │
23:19:36 #12223 [Debug] > │ let v8 : UH5 = method12(v6, v7) │
23:19:36 #12224 [Debug] > │ let v9 : UH6 = UH6_1 │
23:19:36 #12225 [Debug] > │ let v10 : UH6 = UH6_1 │
23:19:36 #12226 [Debug] > │ let struct (v11 : UH6, v12 : UH6) = method15(v8, v9, v10) │
23:19:36 #12227 [Debug] > │ let v13 : UH6 = UH6_1 │
23:19:36 #12228 [Debug] > │ let v14 : UH6 = method16(v11, v13) │
23:19:36 #12229 [Debug] > │ let v15 : UH6 = UH6_1 │
23:19:36 #12230 [Debug] > │ let v16 : UH6 = method16(v12, v15) │
23:19:36 #12231 [Debug] > │ let v17 : (float -> ((UH0 -> UH1) -> (UH0 -> UH0))) = closure6() │
23:19:36 #12232 [Debug] > │ let v18 : ((UH0 -> UH1) -> (UH0 -> UH0)) = v17 0.03 │
23:19:36 #12233 [Debug] > │ let v19 : (UH0 -> UH0) = v18 v2 │
23:19:36 #12234 [Debug] > │ let v20 : UH4 = UH4_1 │
23:19:36 #12235 [Debug] > │ let v21 : int32 = 0 │
23:19:36 #12236 [Debug] > │ let v22 : UH4 = method9(v19, v20, v21) │
23:19:36 #12237 [Debug] > │ let v23 : UH5 = UH5_1 │
23:19:36 #12238 [Debug] > │ let v24 : UH5 = method19(v22, v23) │
23:19:36 #12239 [Debug] > │ let v25 : UH6 = UH6_1 │
23:19:36 #12240 [Debug] > │ let v26 : UH6 = UH6_1 │
23:19:36 #12241 [Debug] > │ let struct (v27 : UH6, v28 : UH6) = method15(v24, v25, v26) │
23:19:36 #12242 [Debug] > │ let v29 : UH6 = UH6_1 │
23:19:36 #12243 [Debug] > │ let v30 : UH6 = method16(v27, v29) │
23:19:36 #12244 [Debug] > │ let v31 : UH6 = UH6_1 │
23:19:36 #12245 [Debug] > │ let v32 : UH6 = method16(v28, v31) │
23:19:36 #12246 [Debug] > │ let v33 : (float []) = method20(v14) │
23:19:36 #12247 [Debug] > │ let v34 : (float []) = method20(v16) │
23:19:36 #12248 [Debug] > │ let v35 : (float []) = method20(v30) │
23:19:36 #12249 [Debug] > │ let v36 : (float []) = method20(v32) │
23:19:36 #12250 [Debug] > │ let v37 : string = "euler-cromer" │
23:19:36 #12251 [Debug] > │ let v38 : string = "runge-kutta 4" │
23:19:36 #12252 [Debug] > │ let v39 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:36 #12253 [Debug] > │ (v37, v33, v34); struct (v38, v35, v36)|] │
23:19:36 #12254 [Debug] > │ let v40 : string = "system kinetic energy versus time" │
23:19:36 #12255 [Debug] > │ let v41 : string = "time (s)" │
23:19:36 #12256 [Debug] > │ let v42 : string = "system kinetic energy (j)" │
23:19:36 #12257 [Debug] > │ struct (v40, v41, v42, v39) │
23:19:36 #12258 [Debug] > │ method0() │
23:19:36 #12259 [Debug] > │ │
23:19:36 #12260 [Debug] > │ │
23:19:36 #12261 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:36 #12262 [Debug] >
23:19:36 #12263 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:36 #12264 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:36 #12265 [Debug] > │ ### wave 1 │
23:19:36 #12266 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:36 #12267 [Debug] >
23:19:36 #12268 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:36 #12269 [Debug] > // // test
23:19:36 #12270 [Debug] >
23:19:36 #12271 [Debug] > inl linear_spring k re (particle_state st1) (particle_state st2) =
23:19:36 #12272 [Debug] > inl r1 = st1.pos_vec
23:19:36 #12273 [Debug] > inl r2 = st2.pos_vec
23:19:36 #12274 [Debug] > inl r21 = r2 ^-^ r1
23:19:36 #12275 [Debug] > inl r21mag = magnitude r21
23:19:36 #12276 [Debug] > -k * (r21mag - re) *^ r21 ^/ r21mag
23:19:36 #12277 [Debug] >
23:19:36 #12278 [Debug] > inl fixed_linear_spring k re r1 =
23:19:36 #12279 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:36 #12280 [Debug] > linear_spring k re (particle_state { default_particle_state' with pos_vec =
23:19:36 #12281 [Debug] > r1 })
23:19:36 #12282 [Debug] >
23:19:36 #12283 [Debug] > inl forces_string () =
23:19:36 #12284 [Debug] > [[
23:19:36 #12285 [Debug] > ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))
23:19:36 #12286 [Debug] > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
23:19:36 #12287 [Debug] > ]] /@ (
23:19:36 #12288 [Debug] > listm'.init_series 0 59 1
23:19:36 #12289 [Debug] > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
23:19:36 #12290 [Debug] > )
23:19:36 #12291 [Debug] >
23:19:36 #12292 [Debug] > inl string_update dt =
23:19:36 #12293 [Debug] > update_mps (runge_kutta_4 dt) (forces_string ())
23:19:36 #12294 [Debug] >
23:19:36 #12295 [Debug] > inl string_initial_overtone n =
23:19:36 #12296 [Debug] > inl ball_mass = 0.0008293 * 0.65 / 64
23:19:36 #12297 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:36 #12298 [Debug] > listm'.init_series 0.01 0.64 0.01
23:19:36 #12299 [Debug] > |> listm.map (fun x =>
23:19:36 #12300 [Debug] > inl y = 0.005 * sin (conv n * pi * x / 0.65)
23:19:36 #12301 [Debug] > particle_state {
23:19:36 #12302 [Debug] > default_particle_state' with
23:19:36 #12303 [Debug] > mass = ball_mass
23:19:36 #12304 [Debug] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
23:19:36 #12305 [Debug] > velocity = zero_vec ()
23:19:36 #12306 [Debug] > }
23:19:36 #12307 [Debug] > )
23:19:36 #12308 [Debug] > |> multi_particle_state
23:19:36 #12309 [Debug] >
23:19:36 #12310 [Debug] > inl string_initial_pluck () =
23:19:36 #12311 [Debug] > inl ball_mass = 0.0008293 * 0.65 / 64
23:19:36 #12312 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:36 #12313 [Debug] > listm'.init_series 0.01 0.64 0.01
23:19:36 #12314 [Debug] > |> listm.map (fun x =>
23:19:36 #12315 [Debug] > inl y =
23:19:36 #12316 [Debug] > inl n = if x <= 0.51 then 0 else 0.65
23:19:36 #12317 [Debug] > 0.005 / (0.51 - n) * (x - n)
23:19:36 #12318 [Debug] > particle_state {
23:19:36 #12319 [Debug] > default_particle_state' with
23:19:36 #12320 [Debug] > mass = ball_mass
23:19:36 #12321 [Debug] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
23:19:36 #12322 [Debug] > velocity = zero_vec ()
23:19:36 #12323 [Debug] > }
23:19:36 #12324 [Debug] > )
23:19:36 #12325 [Debug] > |> multi_particle_state
23:19:36 #12326 [Debug] >
23:19:36 #12327 [Debug] > let main () =
23:19:36 #12328 [Debug] > inl ~frames = listm'.init_series 0 9 1f64
23:19:36 #12329 [Debug] > inl initial_state = string_initial_overtone 3i32
23:19:36 #12330 [Debug] > inl frames =
23:19:36 #12331 [Debug] > frames
23:19:36 #12332 [Debug] > |> listm.map (fun n =>
23:19:36 #12333 [Debug] > inl (multi_particle_state sts) =
23:19:36 #12334 [Debug] > seq.iterate' (string_update 0.000025) initial_state |> fun f =>
23:19:36 #12335 [Debug] > f 0f64
23:19:36 #12336 [Debug] > inl rs =
23:19:36 #12337 [Debug] > [[ zero_vec () ]]
23:19:36 #12338 [Debug] > /@ (sts |> listm.map (fun (particle_state st) => st.pos_vec))
23:19:36 #12339 [Debug] > /@ [[ 0.65 *^ i_hat () ]]
23:19:36 #12340 [Debug] > inl x, y =
23:19:36 #12341 [Debug] > rs
23:19:36 #12342 [Debug] > |> listm.map (fun r => r.x, r.y)
23:19:36 #12343 [Debug] > |> listm'.unzip
23:19:36 #12344 [Debug] > inl x : a i32 _ = x |> listm.toArray
23:19:36 #12345 [Debug] > inl y : a i32 _ = y |> listm.toArray
23:19:36 #12346 [Debug] > x, y
23:19:36 #12347 [Debug] > )
23:19:36 #12348 [Debug] > |> listm.toArray : a i32 _
23:19:36 #12349 [Debug] >
23:19:36 #12350 [Debug] > inl n = 0i32
23:19:36 #12351 [Debug] >
23:19:36 #12352 [Debug] > inl x, y = index frames n
23:19:36 #12353 [Debug] >
23:19:36 #12354 [Debug] > "wave",
23:19:36 #12355 [Debug] > "position (m)",
23:19:36 #12356 [Debug] > "displacement (m)",
23:19:36 #12357 [Debug] > ;[[
23:19:36 #12358 [Debug] > ($"$\"{!n}\"" : string), x, y
23:19:36 #12359 [Debug] > ]]
23:19:37 #12360 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3690-9096-91cab76ef8c3\main.spi
23:19:37 #12361 [Debug] >
23:19:37 #12362 [Debug] > ╭─[ 831.59ms - return value ]──────────────────────────────────────────────────╮
23:19:37 #12363 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:37 #12364 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:37 #12365 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:37 #12366 [Debug] > │ stroke="none"/> │
23:19:37 #12367 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:37 #12368 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12369 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12370 [Debug] > │ wave │
23:19:37 #12371 [Debug] > │ </text> │
23:19:37 #12372 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
23:19:37 #12373 [Debug] > │ y2="75"/> │
23:19:37 #12374 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:37 #12375 [Debug] > │ y2="75"/> │
23:19:37 #12376 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
23:19:37 #12377 [Debug] > │ y2="75"/> │
23:19:37 #12378 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │
23:19:37 #12379 [Debug] > │ y2="75"/> │
23:19:37 #12380 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
23:19:37 #12381 [Debug] > │ y2="75"/> │
23:19:37 #12382 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424" │
23:19:37 #12383 [Debug] > │ x2="100" y2="75"/> │
23:19:37 #12384 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424" │
23:19:37 #12385 [Debug] > │ x2="108" y2="75"/> │
23:19:37 #12386 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424" │
23:19:37 #12387 [Debug] > │ x2="116" y2="75"/> │
23:19:37 #12388 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424" │
23:19:37 #12389 [Debug] > │ x2="123" y2="75"/> │
23:19:37 #12390 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424" │
23:19:37 #12391 [Debug] > │ x2="131" y2="75"/> │
23:19:37 #12392 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:37 #12393 [Debug] > │ x2="139" y2="75"/> │
23:19:37 #12394 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424" │
23:19:37 #12395 [Debug] > │ x2="146" y2="75"/> │
23:19:37 #12396 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="154" y1="424" │
23:19:37 #12397 [Debug] > │ x2="154" y2="75"/> │
23:19:37 #12398 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="162" y1="424" │
23:19:37 #12399 [Debug] > │ x2="162" y2="75"/> │
23:19:37 #12400 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:37 #12401 [Debug] > │ x2="169" y2="75"/> │
23:19:37 #12402 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424" │
23:19:37 #12403 [Debug] > │ x2="177" y2="75"/> │
23:19:37 #12404 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="185" y1="424" │
23:19:37 #12405 [Debug] > │ x2="185" y2="75"/> │
23:19:37 #12406 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="192" y1="424" │
23:19:37 #12407 [Debug] > │ x2="192" y2="75"/> │
23:19:37 #12408 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="200" y1="424" │
23:19:37 #12409 [Debug] > │ x2="200" y2="75"/> │
23:19:37 #12410 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="208" y1="424" │
23:19:37 #12411 [Debug] > │ x2="208" y2="75"/> │
23:19:37 #12412 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="215" y1="424" │
23:19:37 #12413 [Debug] > │ x2="215" y2="75"/> │
23:19:37 #12414 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="223" y1="424" │
23:19:37 #12415 [Debug] > │ x2="223" y2="75"/> │
23:19:37 #12416 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="231" y1="424" │
23:19:37 #12417 [Debug] > │ x2="231" y2="75"/> │
23:19:37 #12418 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="238" y1="424" │
23:19:37 #12419 [Debug] > │ x2="238" y2="75"/> │
23:19:37 #12420 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="246" y1="424" │
23:19:37 #12421 [Debug] > │ x2="246" y2="75"/> │
23:19:37 #12422 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="254" y1="424" │
23:19:37 #12423 [Debug] > │ x2="254" y2="75"/> │
23:19:37 #12424 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:37 #12425 [Debug] > │ x2="261" y2="75"/> │
23:19:37 #12426 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:37 #12427 [Debug] > │ x2="269" y2="75"/> │
23:19:37 #12428 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424" │
23:19:37 #12429 [Debug] > │ x2="277" y2="75"/> │
23:19:37 #12430 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="284" y1="424" │
23:19:37 #12431 [Debug] > │ x2="284" y2="75"/> │
23:19:37 #12432 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="292" y1="424" │
23:19:37 #12433 [Debug] > │ x2="292" y2="75"/> │
23:19:37 #12434 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="300" y1="424" │
23:19:37 #12435 [Debug] > │ x2="300" y2="75"/> │
23:19:37 #12436 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424" │
23:19:37 #12437 [Debug] > │ x2="307" y2="75"/> │
23:19:37 #12438 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="315" y1="424" │
23:19:37 #12439 [Debug] > │ x2="315" y2="75"/> │
23:19:37 #12440 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="323" y1="424" │
23:19:37 #12441 [Debug] > │ x2="323" y2="75"/> │
23:19:37 #12442 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424" │
23:19:37 #12443 [Debug] > │ x2="331" y2="75"/> │
23:19:37 #12444 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="338" y1="424" │
23:19:37 #12445 [Debug] > │ x2="338" y2="75"/> │
23:19:37 #12446 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="346" y1="424" │
23:19:37 #12447 [Debug] > │ x2="346" y2="75"/> │
23:19:37 #12448 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="354" y1="424" │
23:19:37 #12449 [Debug] > │ x2="354" y2="75"/> │
23:19:37 #12450 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424" │
23:19:37 #12451 [Debug] > │ x2="361" y2="75"/> │
23:19:37 #12452 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:37 #12453 [Debug] > │ x2="369" y2="75"/> │
23:19:37 #12454 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424" │
23:19:37 #12455 [Debug] > │ x2="377" y2="75"/> │
23:19:37 #12456 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="384" y1="424" │
23:19:37 #12457 [Debug] > │ x2="384" y2="75"/> │
23:19:37 #12458 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="392" y1="424" │
23:19:37 #12459 [Debug] > │ x2="392" y2="75"/> │
23:19:37 #12460 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="400" y1="424" │
23:19:37 #12461 [Debug] > │ x2="400" y2="75"/> │
23:19:37 #12462 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="407" y1="424" │
23:19:37 #12463 [Debug] > │ x2="407" y2="75"/> │
23:19:37 #12464 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="415" y1="424" │
23:19:37 #12465 [Debug] > │ x2="415" y2="75"/> │
23:19:37 #12466 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="423" y1="424" │
23:19:37 #12467 [Debug] > │ x2="423" y2="75"/> │
23:19:37 #12468 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="430" y1="424" │
23:19:37 #12469 [Debug] > │ x2="430" y2="75"/> │
23:19:37 #12470 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="438" y1="424" │
23:19:37 #12471 [Debug] > │ x2="438" y2="75"/> │
23:19:37 #12472 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="446" y1="424" │
23:19:37 #12473 [Debug] > │ x2="446" y2="75"/> │
23:19:37 #12474 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="453" y1="424" │
23:19:37 #12475 [Debug] > │ x2="453" y2="75"/> │
23:19:37 #12476 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="461" y1="424" │
23:19:37 #12477 [Debug] > │ x2="461" y2="75"/> │
23:19:37 #12478 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:37 #12479 [Debug] > │ x2="469" y2="75"/> │
23:19:37 #12480 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424" │
23:19:37 #12481 [Debug] > │ x2="476" y2="75"/> │
23:19:37 #12482 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="484" y1="424" │
23:19:37 #12483 [Debug] > │ x2="484" y2="75"/> │
23:19:37 #12484 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="492" y1="424" │
23:19:37 #12485 [Debug] > │ x2="492" y2="75"/> │
23:19:37 #12486 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:37 #12487 [Debug] > │ x2="499" y2="75"/> │
23:19:37 #12488 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="507" y1="424" │
23:19:37 #12489 [Debug] > │ x2="507" y2="75"/> │
23:19:37 #12490 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="515" y1="424" │
23:19:37 #12491 [Debug] > │ x2="515" y2="75"/> │
23:19:37 #12492 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="522" y1="424" │
23:19:37 #12493 [Debug] > │ x2="522" y2="75"/> │
23:19:37 #12494 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="530" y1="424" │
23:19:37 #12495 [Debug] > │ x2="530" y2="75"/> │
23:19:37 #12496 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="538" y1="424" │
23:19:37 #12497 [Debug] > │ x2="538" y2="75"/> │
23:19:37 #12498 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="545" y1="424" │
23:19:37 #12499 [Debug] > │ x2="545" y2="75"/> │
23:19:37 #12500 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="553" y1="424" │
23:19:37 #12501 [Debug] > │ x2="553" y2="75"/> │
23:19:37 #12502 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="561" y1="424" │
23:19:37 #12503 [Debug] > │ x2="561" y2="75"/> │
23:19:37 #12504 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:37 #12505 [Debug] > │ x2="569" y2="75"/> │
23:19:37 #12506 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:37 #12507 [Debug] > │ x2="584" y2="415"/> │
23:19:37 #12508 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="399" │
23:19:37 #12509 [Debug] > │ x2="584" y2="399"/> │
23:19:37 #12510 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382" │
23:19:37 #12511 [Debug] > │ x2="584" y2="382"/> │
23:19:37 #12512 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="366" │
23:19:37 #12513 [Debug] > │ x2="584" y2="366"/> │
23:19:37 #12514 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349" │
23:19:37 #12515 [Debug] > │ x2="584" y2="349"/> │
23:19:37 #12516 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="333" │
23:19:37 #12517 [Debug] > │ x2="584" y2="333"/> │
23:19:37 #12518 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316" │
23:19:37 #12519 [Debug] > │ x2="584" y2="316"/> │
23:19:37 #12520 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="300" │
23:19:37 #12521 [Debug] > │ x2="584" y2="300"/> │
23:19:37 #12522 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283" │
23:19:37 #12523 [Debug] > │ x2="584" y2="283"/> │
23:19:37 #12524 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="267" │
23:19:37 #12525 [Debug] > │ x2="584" y2="267"/> │
23:19:37 #12526 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:37 #12527 [Debug] > │ x2="584" y2="250"/> │
23:19:37 #12528 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234" │
23:19:37 #12529 [Debug] > │ x2="584" y2="234"/> │
23:19:37 #12530 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217" │
23:19:37 #12531 [Debug] > │ x2="584" y2="217"/> │
23:19:37 #12532 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:37 #12533 [Debug] > │ x2="584" y2="201"/> │
23:19:37 #12534 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184" │
23:19:37 #12535 [Debug] > │ x2="584" y2="184"/> │
23:19:37 #12536 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168" │
23:19:37 #12537 [Debug] > │ x2="584" y2="168"/> │
23:19:37 #12538 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151" │
23:19:37 #12539 [Debug] > │ x2="584" y2="151"/> │
23:19:37 #12540 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135" │
23:19:37 #12541 [Debug] > │ x2="584" y2="135"/> │
23:19:37 #12542 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:37 #12543 [Debug] > │ x2="584" y2="118"/> │
23:19:37 #12544 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102" │
23:19:37 #12545 [Debug] > │ x2="584" y2="102"/> │
23:19:37 #12546 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:37 #12547 [Debug] > │ y2="85"/> │
23:19:37 #12548 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:37 #12549 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12550 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12551 [Debug] > │ position (m) │
23:19:37 #12552 [Debug] > │ </text> │
23:19:37 #12553 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:37 #12554 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12555 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:37 #12556 [Debug] > │ displacement (m) │
23:19:37 #12557 [Debug] > │ </text> │
23:19:37 #12558 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12559 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12560 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12561 [Debug] > │ position (m) │
23:19:37 #12562 [Debug] > │ </text> │
23:19:37 #12563 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:37 #12564 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12565 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:37 #12566 [Debug] > │ displacement (m) │
23:19:37 #12567 [Debug] > │ </text> │
23:19:37 #12568 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:37 #12569 [Debug] > │ y2="75"/> │
23:19:37 #12570 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="108" y1="424" │
23:19:37 #12571 [Debug] > │ x2="108" y2="75"/> │
23:19:37 #12572 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="146" y1="424" │
23:19:37 #12573 [Debug] > │ x2="146" y2="75"/> │
23:19:37 #12574 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="185" y1="424" │
23:19:37 #12575 [Debug] > │ x2="185" y2="75"/> │
23:19:37 #12576 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="223" y1="424" │
23:19:37 #12577 [Debug] > │ x2="223" y2="75"/> │
23:19:37 #12578 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="261" y1="424" │
23:19:37 #12579 [Debug] > │ x2="261" y2="75"/> │
23:19:37 #12580 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="300" y1="424" │
23:19:37 #12581 [Debug] > │ x2="300" y2="75"/> │
23:19:37 #12582 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="338" y1="424" │
23:19:37 #12583 [Debug] > │ x2="338" y2="75"/> │
23:19:37 #12584 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="377" y1="424" │
23:19:37 #12585 [Debug] > │ x2="377" y2="75"/> │
23:19:37 #12586 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="415" y1="424" │
23:19:37 #12587 [Debug] > │ x2="415" y2="75"/> │
23:19:37 #12588 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="453" y1="424" │
23:19:37 #12589 [Debug] > │ x2="453" y2="75"/> │
23:19:37 #12590 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="492" y1="424" │
23:19:37 #12591 [Debug] > │ x2="492" y2="75"/> │
23:19:37 #12592 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="530" y1="424" │
23:19:37 #12593 [Debug] > │ x2="530" y2="75"/> │
23:19:37 #12594 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:37 #12595 [Debug] > │ x2="569" y2="75"/> │
23:19:37 #12596 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="382" │
23:19:37 #12597 [Debug] > │ x2="584" y2="382"/> │
23:19:37 #12598 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="316" │
23:19:37 #12599 [Debug] > │ x2="584" y2="316"/> │
23:19:37 #12600 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250" │
23:19:37 #12601 [Debug] > │ x2="584" y2="250"/> │
23:19:37 #12602 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="184" │
23:19:37 #12603 [Debug] > │ x2="584" y2="184"/> │
23:19:37 #12604 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="118" │
23:19:37 #12605 [Debug] > │ x2="584" y2="118"/> │
23:19:37 #12606 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12607 [Debug] > │ points="55,74 584,74 "/> │
23:19:37 #12608 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12609 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12610 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12611 [Debug] > │ 0.0 │
23:19:37 #12612 [Debug] > │ </text> │
23:19:37 #12613 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12614 [Debug] > │ points="69,69 69,74 "/> │
23:19:37 #12615 [Debug] > │ <text x="108" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12616 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12617 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12618 [Debug] > │ 0.1 │
23:19:37 #12619 [Debug] > │ </text> │
23:19:37 #12620 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12621 [Debug] > │ points="108,69 108,74 "/> │
23:19:37 #12622 [Debug] > │ <text x="146" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12623 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12624 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12625 [Debug] > │ 0.1 │
23:19:37 #12626 [Debug] > │ </text> │
23:19:37 #12627 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12628 [Debug] > │ points="146,69 146,74 "/> │
23:19:37 #12629 [Debug] > │ <text x="185" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12630 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12631 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12632 [Debug] > │ 0.2 │
23:19:37 #12633 [Debug] > │ </text> │
23:19:37 #12634 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12635 [Debug] > │ points="185,69 185,74 "/> │
23:19:37 #12636 [Debug] > │ <text x="223" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12637 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12638 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12639 [Debug] > │ 0.2 │
23:19:37 #12640 [Debug] > │ </text> │
23:19:37 #12641 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12642 [Debug] > │ points="223,69 223,74 "/> │
23:19:37 #12643 [Debug] > │ <text x="261" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12644 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12645 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12646 [Debug] > │ 0.2 │
23:19:37 #12647 [Debug] > │ </text> │
23:19:37 #12648 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12649 [Debug] > │ points="261,69 261,74 "/> │
23:19:37 #12650 [Debug] > │ <text x="300" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12651 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12652 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12653 [Debug] > │ 0.3 │
23:19:37 #12654 [Debug] > │ </text> │
23:19:37 #12655 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12656 [Debug] > │ points="300,69 300,74 "/> │
23:19:37 #12657 [Debug] > │ <text x="338" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12658 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12659 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12660 [Debug] > │ 0.3 │
23:19:37 #12661 [Debug] > │ </text> │
23:19:37 #12662 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12663 [Debug] > │ points="338,69 338,74 "/> │
23:19:37 #12664 [Debug] > │ <text x="377" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12665 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12666 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12667 [Debug] > │ 0.4 │
23:19:37 #12668 [Debug] > │ </text> │
23:19:37 #12669 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12670 [Debug] > │ points="377,69 377,74 "/> │
23:19:37 #12671 [Debug] > │ <text x="415" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12672 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12673 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12674 [Debug] > │ 0.4 │
23:19:37 #12675 [Debug] > │ </text> │
23:19:37 #12676 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12677 [Debug] > │ points="415,69 415,74 "/> │
23:19:37 #12678 [Debug] > │ <text x="453" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12679 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12680 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12681 [Debug] > │ 0.5 │
23:19:37 #12682 [Debug] > │ </text> │
23:19:37 #12683 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12684 [Debug] > │ points="453,69 453,74 "/> │
23:19:37 #12685 [Debug] > │ <text x="492" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12686 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12687 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12688 [Debug] > │ 0.5 │
23:19:37 #12689 [Debug] > │ </text> │
23:19:37 #12690 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12691 [Debug] > │ points="492,69 492,74 "/> │
23:19:37 #12692 [Debug] > │ <text x="530" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12693 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12694 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12695 [Debug] > │ 0.6 │
23:19:37 #12696 [Debug] > │ </text> │
23:19:37 #12697 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12698 [Debug] > │ points="530,69 530,74 "/> │
23:19:37 #12699 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:37 #12700 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12701 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12702 [Debug] > │ 0.7 │
23:19:37 #12703 [Debug] > │ </text> │
23:19:37 #12704 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12705 [Debug] > │ points="569,69 569,74 "/> │
23:19:37 #12706 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12707 [Debug] > │ points="54,75 54,424 "/> │
23:19:37 #12708 [Debug] > │ <text x="45" y="382" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12709 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12710 [Debug] > │ -0.0 │
23:19:37 #12711 [Debug] > │ </text> │
23:19:37 #12712 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12713 [Debug] > │ points="49,382 54,382 "/> │
23:19:37 #12714 [Debug] > │ <text x="45" y="316" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12715 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12716 [Debug] > │ -0.0 │
23:19:37 #12717 [Debug] > │ </text> │
23:19:37 #12718 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12719 [Debug] > │ points="49,316 54,316 "/> │
23:19:37 #12720 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12721 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12722 [Debug] > │ 0.0 │
23:19:37 #12723 [Debug] > │ </text> │
23:19:37 #12724 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12725 [Debug] > │ points="49,250 54,250 "/> │
23:19:37 #12726 [Debug] > │ <text x="45" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12727 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12728 [Debug] > │ 0.0 │
23:19:37 #12729 [Debug] > │ </text> │
23:19:37 #12730 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12731 [Debug] > │ points="49,184 54,184 "/> │
23:19:37 #12732 [Debug] > │ <text x="45" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12733 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12734 [Debug] > │ 0.0 │
23:19:37 #12735 [Debug] > │ </text> │
23:19:37 #12736 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12737 [Debug] > │ points="49,118 54,118 "/> │
23:19:37 #12738 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12739 [Debug] > │ points="55,425 584,425 "/> │
23:19:37 #12740 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12741 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12742 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12743 [Debug] > │ 0.0 │
23:19:37 #12744 [Debug] > │ </text> │
23:19:37 #12745 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12746 [Debug] > │ points="69,425 69,430 "/> │
23:19:37 #12747 [Debug] > │ <text x="108" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12748 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12749 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12750 [Debug] > │ 0.1 │
23:19:37 #12751 [Debug] > │ </text> │
23:19:37 #12752 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12753 [Debug] > │ points="108,425 108,430 "/> │
23:19:37 #12754 [Debug] > │ <text x="146" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12755 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12756 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12757 [Debug] > │ 0.1 │
23:19:37 #12758 [Debug] > │ </text> │
23:19:37 #12759 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12760 [Debug] > │ points="146,425 146,430 "/> │
23:19:37 #12761 [Debug] > │ <text x="185" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12762 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12763 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12764 [Debug] > │ 0.2 │
23:19:37 #12765 [Debug] > │ </text> │
23:19:37 #12766 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12767 [Debug] > │ points="185,425 185,430 "/> │
23:19:37 #12768 [Debug] > │ <text x="223" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12769 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12770 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12771 [Debug] > │ 0.2 │
23:19:37 #12772 [Debug] > │ </text> │
23:19:37 #12773 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12774 [Debug] > │ points="223,425 223,430 "/> │
23:19:37 #12775 [Debug] > │ <text x="261" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12776 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12777 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12778 [Debug] > │ 0.2 │
23:19:37 #12779 [Debug] > │ </text> │
23:19:37 #12780 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12781 [Debug] > │ points="261,425 261,430 "/> │
23:19:37 #12782 [Debug] > │ <text x="300" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12783 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12784 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12785 [Debug] > │ 0.3 │
23:19:37 #12786 [Debug] > │ </text> │
23:19:37 #12787 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12788 [Debug] > │ points="300,425 300,430 "/> │
23:19:37 #12789 [Debug] > │ <text x="338" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12790 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12791 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12792 [Debug] > │ 0.3 │
23:19:37 #12793 [Debug] > │ </text> │
23:19:37 #12794 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12795 [Debug] > │ points="338,425 338,430 "/> │
23:19:37 #12796 [Debug] > │ <text x="377" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12797 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12798 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12799 [Debug] > │ 0.4 │
23:19:37 #12800 [Debug] > │ </text> │
23:19:37 #12801 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12802 [Debug] > │ points="377,425 377,430 "/> │
23:19:37 #12803 [Debug] > │ <text x="415" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12804 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12805 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12806 [Debug] > │ 0.4 │
23:19:37 #12807 [Debug] > │ </text> │
23:19:37 #12808 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12809 [Debug] > │ points="415,425 415,430 "/> │
23:19:37 #12810 [Debug] > │ <text x="453" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12811 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12812 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12813 [Debug] > │ 0.5 │
23:19:37 #12814 [Debug] > │ </text> │
23:19:37 #12815 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12816 [Debug] > │ points="453,425 453,430 "/> │
23:19:37 #12817 [Debug] > │ <text x="492" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12818 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12819 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12820 [Debug] > │ 0.5 │
23:19:37 #12821 [Debug] > │ </text> │
23:19:37 #12822 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12823 [Debug] > │ points="492,425 492,430 "/> │
23:19:37 #12824 [Debug] > │ <text x="530" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12825 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12826 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12827 [Debug] > │ 0.6 │
23:19:37 #12828 [Debug] > │ </text> │
23:19:37 #12829 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12830 [Debug] > │ points="530,425 530,430 "/> │
23:19:37 #12831 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:37 #12832 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12833 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12834 [Debug] > │ 0.7 │
23:19:37 #12835 [Debug] > │ </text> │
23:19:37 #12836 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12837 [Debug] > │ points="569,425 569,430 "/> │
23:19:37 #12838 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12839 [Debug] > │ points="585,75 585,424 "/> │
23:19:37 #12840 [Debug] > │ <text x="595" y="382" dy="0.5ex" text-anchor="start" │
23:19:37 #12841 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12842 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12843 [Debug] > │ -0.0 │
23:19:37 #12844 [Debug] > │ </text> │
23:19:37 #12845 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12846 [Debug] > │ points="585,382 590,382 "/> │
23:19:37 #12847 [Debug] > │ <text x="595" y="316" dy="0.5ex" text-anchor="start" │
23:19:37 #12848 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12849 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12850 [Debug] > │ -0.0 │
23:19:37 #12851 [Debug] > │ </text> │
23:19:37 #12852 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12853 [Debug] > │ points="585,316 590,316 "/> │
23:19:37 #12854 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12855 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12856 [Debug] > │ 0.0 │
23:19:37 #12857 [Debug] > │ </text> │
23:19:37 #12858 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12859 [Debug] > │ points="585,250 590,250 "/> │
23:19:37 #12860 [Debug] > │ <text x="617" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12861 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12862 [Debug] > │ 0.0 │
23:19:37 #12863 [Debug] > │ </text> │
23:19:37 #12864 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12865 [Debug] > │ points="585,184 590,184 "/> │
23:19:37 #12866 [Debug] > │ <text x="617" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:37 #12867 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:37 #12868 [Debug] > │ 0.0 │
23:19:37 #12869 [Debug] > │ </text> │
23:19:37 #12870 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:37 #12871 [Debug] > │ points="585,118 590,118 "/> │
23:19:37 #12872 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:37 #12873 [Debug] > │ points="69,250 77,226 85,203 93,181 100,160 108,141 116,124 123,110 131,99 │
23:19:37 #12874 [Debug] > │ 139,91 146,87 154,85 162,88 169,93 177,102 185,115 192,129 200,147 208,167 │
23:19:37 #12875 [Debug] > │ 215,188 223,211 231,234 238,258 246,282 254,305 261,327 269,347 277,365 │
23:19:37 #12876 [Debug] > │ 284,381 292,394 300,404 307,411 315,415 323,415 331,411 338,404 346,394 │
23:19:37 #12877 [Debug] > │ 354,381 361,365 369,347 377,327 384,305 392,282 400,258 407,234 415,211 │
23:19:37 #12878 [Debug] > │ 423,188 430,167 438,147 446,129 453,115 461,102 469,93 476,88 484,85 492,87 │
23:19:37 #12879 [Debug] > │ 499,91 507,99 515,110 522,124 530,141 538,160 545,181 553,203 561,226 │
23:19:37 #12880 [Debug] > │ 569,250 "/> │
23:19:37 #12881 [Debug] > │ <rect x="525" y="235" width="55" height="30" opacity="1" fill="none" │
23:19:37 #12882 [Debug] > │ stroke="#FFFFFF"/> │
23:19:37 #12883 [Debug] > │ <text x="565" y="245" dy="0.76em" text-anchor="start" │
23:19:37 #12884 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:37 #12885 [Debug] > │ fill="#FFFFFF"> │
23:19:37 #12886 [Debug] > │ 0 │
23:19:37 #12887 [Debug] > │ </text> │
23:19:37 #12888 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:37 #12889 [Debug] > │ points="535,250 555,250 "/> │
23:19:37 #12890 [Debug] > │ </svg> │
23:19:37 #12891 [Debug] > │ │
23:19:37 #12892 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:37 #12893 [Debug] >
23:19:38 #12894 [Debug] > ╭─[ 1.09s - stdout ]───────────────────────────────────────────────────────────╮
23:19:38 #12895 [Debug] > │ type UH0 = │
23:19:38 #12896 [Debug] > │ | UH0_0 of float * UH0 │
23:19:38 #12897 [Debug] > │ | UH0_1 │
23:19:38 #12898 [Debug] > │ and UH1 = │
23:19:38 #12899 [Debug] > │ | UH1_0 of (float []) * (float []) * UH1 │
23:19:38 #12900 [Debug] > │ | UH1_1 │
23:19:38 #12901 [Debug] > │ let rec method3 (v0 : UH0, v1 : int32) : int32 = │
23:19:38 #12902 [Debug] > │ match v0 with │
23:19:38 #12903 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:38 #12904 [Debug] > │ let v4 : int32 = v1 + 1 │
23:19:38 #12905 [Debug] > │ method3(v3, v4) │
23:19:38 #12906 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:38 #12907 [Debug] > │ v1 │
23:19:38 #12908 [Debug] > │ and method4 (v0 : (float []), v1 : UH0, v2 : int32) : int32 = │
23:19:38 #12909 [Debug] > │ match v1 with │
23:19:38 #12910 [Debug] > │ | UH0_0(v3, v4) -> (* Cons *) │
23:19:38 #12911 [Debug] > │ v0.[int v2] <- v3 │
23:19:38 #12912 [Debug] > │ let v5 : int32 = v2 + 1 │
23:19:38 #12913 [Debug] > │ method4(v0, v4, v5) │
23:19:38 #12914 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:38 #12915 [Debug] > │ v2 │
23:19:38 #12916 [Debug] > │ and method2 (v0 : UH0) : (float []) = │
23:19:38 #12917 [Debug] > │ let v1 : int32 = 0 │
23:19:38 #12918 [Debug] > │ let v2 : int32 = method3(v0, v1) │
23:19:38 #12919 [Debug] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
23:19:38 #12920 [Debug] > │ let v4 : int32 = 0 │
23:19:38 #12921 [Debug] > │ let v5 : int32 = method4(v3, v0, v4) │
23:19:38 #12922 [Debug] > │ v3 │
23:19:38 #12923 [Debug] > │ and method1 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:38 #12924 [Debug] > │ match v0 with │
23:19:38 #12925 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:38 #12926 [Debug] > │ let v4 : UH1 = method1(v3, v1) │
23:19:38 #12927 [Debug] > │ let v5 : float = 0.0 │
23:19:38 #12928 [Debug] > │ let v6 : float = 0.01 │
23:19:38 #12929 [Debug] > │ let v7 : float = 0.02 │
23:19:38 #12930 [Debug] > │ let v8 : float = 0.03 │
23:19:38 #12931 [Debug] > │ let v9 : float = 0.04 │
23:19:38 #12932 [Debug] > │ let v10 : float = 0.05 │
23:19:38 #12933 [Debug] > │ let v11 : float = 0.060000000000000005 │
23:19:38 #12934 [Debug] > │ let v12 : float = 0.06999999999999999 │
23:19:38 #12935 [Debug] > │ let v13 : float = 0.08 │
23:19:38 #12936 [Debug] > │ let v14 : float = 0.09 │
23:19:38 #12937 [Debug] > │ let v15 : float = 0.09999999999999999 │
23:19:38 #12938 [Debug] > │ let v16 : float = 0.11 │
23:19:38 #12939 [Debug] > │ let v17 : float = 0.12 │
23:19:38 #12940 [Debug] > │ let v18 : float = 0.13 │
23:19:38 #12941 [Debug] > │ let v19 : float = 0.14 │
23:19:38 #12942 [Debug] > │ let v20 : float = 0.15000000000000002 │
23:19:38 #12943 [Debug] > │ let v21 : float = 0.16 │
23:19:38 #12944 [Debug] > │ let v22 : float = 0.17 │
23:19:38 #12945 [Debug] > │ let v23 : float = 0.18000000000000002 │
23:19:38 #12946 [Debug] > │ let v24 : float = 0.19 │
23:19:38 #12947 [Debug] > │ let v25 : float = 0.2 │
23:19:38 #12948 [Debug] > │ let v26 : float = 0.21000000000000002 │
23:19:38 #12949 [Debug] > │ let v27 : float = 0.22 │
23:19:38 #12950 [Debug] > │ let v28 : float = 0.23 │
23:19:38 #12951 [Debug] > │ let v29 : float = 0.24000000000000002 │
23:19:38 #12952 [Debug] > │ let v30 : float = 0.25 │
23:19:38 #12953 [Debug] > │ let v31 : float = 0.26 │
23:19:38 #12954 [Debug] > │ let v32 : float = 0.27 │
23:19:38 #12955 [Debug] > │ let v33 : float = 0.28 │
23:19:38 #12956 [Debug] > │ let v34 : float = 0.29000000000000004 │
23:19:38 #12957 [Debug] > │ let v35 : float = 0.3 │
23:19:38 #12958 [Debug] > │ let v36 : float = 0.31 │
23:19:38 #12959 [Debug] > │ let v37 : float = 0.32 │
23:19:38 #12960 [Debug] > │ let v38 : float = 0.33 │
23:19:38 #12961 [Debug] > │ let v39 : float = 0.34 │
23:19:38 #12962 [Debug] > │ let v40 : float = 0.35000000000000003 │
23:19:38 #12963 [Debug] > │ let v41 : float = 0.36000000000000004 │
23:19:38 #12964 [Debug] > │ let v42 : float = 0.37 │
23:19:38 #12965 [Debug] > │ let v43 : float = 0.38 │
23:19:38 #12966 [Debug] > │ let v44 : float = 0.39 │
23:19:38 #12967 [Debug] > │ let v45 : float = 0.4 │
23:19:38 #12968 [Debug] > │ let v46 : float = 0.41000000000000003 │
23:19:38 #12969 [Debug] > │ let v47 : float = 0.42000000000000004 │
23:19:38 #12970 [Debug] > │ let v48 : float = 0.43 │
23:19:38 #12971 [Debug] > │ let v49 : float = 0.44 │
23:19:38 #12972 [Debug] > │ let v50 : float = 0.45 │
23:19:38 #12973 [Debug] > │ let v51 : float = 0.46 │
23:19:38 #12974 [Debug] > │ let v52 : float = 0.47000000000000003 │
23:19:38 #12975 [Debug] > │ let v53 : float = 0.48000000000000004 │
23:19:38 #12976 [Debug] > │ let v54 : float = 0.49 │
23:19:38 #12977 [Debug] > │ let v55 : float = 0.5 │
23:19:38 #12978 [Debug] > │ let v56 : float = 0.51 │
23:19:38 #12979 [Debug] > │ let v57 : float = 0.52 │
23:19:38 #12980 [Debug] > │ let v58 : float = 0.53 │
23:19:38 #12981 [Debug] > │ let v59 : float = 0.54 │
23:19:38 #12982 [Debug] > │ let v60 : float = 0.55 │
23:19:38 #12983 [Debug] > │ let v61 : float = 0.56 │
23:19:38 #12984 [Debug] > │ let v62 : float = 0.5700000000000001 │
23:19:38 #12985 [Debug] > │ let v63 : float = 0.5800000000000001 │
23:19:38 #12986 [Debug] > │ let v64 : float = 0.59 │
23:19:38 #12987 [Debug] > │ let v65 : float = 0.6 │
23:19:38 #12988 [Debug] > │ let v66 : float = 0.61 │
23:19:38 #12989 [Debug] > │ let v67 : float = 0.62 │
23:19:38 #12990 [Debug] > │ let v68 : float = 0.63 │
23:19:38 #12991 [Debug] > │ let v69 : float = 0.64 │
23:19:38 #12992 [Debug] > │ let v70 : float = 0.65 │
23:19:38 #12993 [Debug] > │ let v71 : UH0 = UH0_1 │
23:19:38 #12994 [Debug] > │ let v72 : UH0 = UH0_0(v70, v71) │
23:19:38 #12995 [Debug] > │ let v73 : UH0 = UH0_0(v69, v72) │
23:19:38 #12996 [Debug] > │ let v74 : UH0 = UH0_0(v68, v73) │
23:19:38 #12997 [Debug] > │ let v75 : UH0 = UH0_0(v67, v74) │
23:19:38 #12998 [Debug] > │ let v76 : UH0 = UH0_0(v66, v75) │
23:19:38 #12999 [Debug] > │ let v77 : UH0 = UH0_0(v65, v76) │
23:19:38 #13000 [Debug] > │ let v78 : UH0 = UH0_0(v64, v77) │
23:19:38 #13001 [Debug] > │ let v79 : UH0 = UH0_0(v63, v78) │
23:19:38 #13002 [Debug] > │ let v80 : UH0 = UH0_0(v62, v79) │
23:19:38 #13003 [Debug] > │ let v81 : UH0 = UH0_0(v61, v80) │
23:19:38 #13004 [Debug] > │ let v82 : UH0 = UH0_0(v60, v81) │
23:19:38 #13005 [Debug] > │ let v83 : UH0 = UH0_0(v59, v82) │
23:19:38 #13006 [Debug] > │ let v84 : UH0 = UH0_0(v58, v83) │
23:19:38 #13007 [Debug] > │ let v85 : UH0 = UH0_0(v57, v84) │
23:19:38 #13008 [Debug] > │ let v86 : UH0 = UH0_0(v56, v85) │
23:19:38 #13009 [Debug] > │ let v87 : UH0 = UH0_0(v55, v86) │
23:19:38 #13010 [Debug] > │ let v88 : UH0 = UH0_0(v54, v87) │
23:19:38 #13011 [Debug] > │ let v89 : UH0 = UH0_0(v53, v88) │
23:19:38 #13012 [Debug] > │ let v90 : UH0 = UH0_0(v52, v89) │
23:19:38 #13013 [Debug] > │ let v91 : UH0 = UH0_0(v51, v90) │
23:19:38 #13014 [Debug] > │ let v92 : UH0 = UH0_0(v50, v91) │
23:19:38 #13015 [Debug] > │ let v93 : UH0 = UH0_0(v49, v92) │
23:19:38 #13016 [Debug] > │ let v94 : UH0 = UH0_0(v48, v93) │
23:19:38 #13017 [Debug] > │ let v95 : UH0 = UH0_0(v47, v94) │
23:19:38 #13018 [Debug] > │ let v96 : UH0 = UH0_0(v46, v95) │
23:19:38 #13019 [Debug] > │ let v97 : UH0 = UH0_0(v45, v96) │
23:19:38 #13020 [Debug] > │ let v98 : UH0 = UH0_0(v44, v97) │
23:19:38 #13021 [Debug] > │ let v99 : UH0 = UH0_0(v43, v98) │
23:19:38 #13022 [Debug] > │ let v100 : UH0 = UH0_0(v42, v99) │
23:19:38 #13023 [Debug] > │ let v101 : UH0 = UH0_0(v41, v100) │
23:19:38 #13024 [Debug] > │ let v102 : UH0 = UH0_0(v40, v101) │
23:19:38 #13025 [Debug] > │ let v103 : UH0 = UH0_0(v39, v102) │
23:19:38 #13026 [Debug] > │ let v104 : UH0 = UH0_0(v38, v103) │
23:19:38 #13027 [Debug] > │ let v105 : UH0 = UH0_0(v37, v104) │
23:19:38 #13028 [Debug] > │ let v106 : UH0 = UH0_0(v36, v105) │
23:19:38 #13029 [Debug] > │ let v107 : UH0 = UH0_0(v35, v106) │
23:19:38 #13030 [Debug] > │ let v108 : UH0 = UH0_0(v34, v107) │
23:19:38 #13031 [Debug] > │ let v109 : UH0 = UH0_0(v33, v108) │
23:19:38 #13032 [Debug] > │ let v110 : UH0 = UH0_0(v32, v109) │
23:19:38 #13033 [Debug] > │ let v111 : UH0 = UH0_0(v31, v110) │
23:19:38 #13034 [Debug] > │ let v112 : UH0 = UH0_0(v30, v111) │
23:19:38 #13035 [Debug] > │ let v113 : UH0 = UH0_0(v29, v112) │
23:19:38 #13036 [Debug] > │ let v114 : UH0 = UH0_0(v28, v113) │
23:19:38 #13037 [Debug] > │ let v115 : UH0 = UH0_0(v27, v114) │
23:19:38 #13038 [Debug] > │ let v116 : UH0 = UH0_0(v26, v115) │
23:19:38 #13039 [Debug] > │ let v117 : UH0 = UH0_0(v25, v116) │
23:19:38 #13040 [Debug] > │ let v118 : UH0 = UH0_0(v24, v117) │
23:19:38 #13041 [Debug] > │ let v119 : UH0 = UH0_0(v23, v118) │
23:19:38 #13042 [Debug] > │ let v120 : UH0 = UH0_0(v22, v119) │
23:19:38 #13043 [Debug] > │ let v121 : UH0 = UH0_0(v21, v120) │
23:19:38 #13044 [Debug] > │ let v122 : UH0 = UH0_0(v20, v121) │
23:19:38 #13045 [Debug] > │ let v123 : UH0 = UH0_0(v19, v122) │
23:19:38 #13046 [Debug] > │ let v124 : UH0 = UH0_0(v18, v123) │
23:19:38 #13047 [Debug] > │ let v125 : UH0 = UH0_0(v17, v124) │
23:19:38 #13048 [Debug] > │ let v126 : UH0 = UH0_0(v16, v125) │
23:19:38 #13049 [Debug] > │ let v127 : UH0 = UH0_0(v15, v126) │
23:19:38 #13050 [Debug] > │ let v128 : UH0 = UH0_0(v14, v127) │
23:19:38 #13051 [Debug] > │ let v129 : UH0 = UH0_0(v13, v128) │
23:19:38 #13052 [Debug] > │ let v130 : UH0 = UH0_0(v12, v129) │
23:19:38 #13053 [Debug] > │ let v131 : UH0 = UH0_0(v11, v130) │
23:19:38 #13054 [Debug] > │ let v132 : UH0 = UH0_0(v10, v131) │
23:19:38 #13055 [Debug] > │ let v133 : UH0 = UH0_0(v9, v132) │
23:19:38 #13056 [Debug] > │ let v134 : UH0 = UH0_0(v8, v133) │
23:19:38 #13057 [Debug] > │ let v135 : UH0 = UH0_0(v7, v134) │
23:19:38 #13058 [Debug] > │ let v136 : UH0 = UH0_0(v6, v135) │
23:19:38 #13059 [Debug] > │ let v137 : UH0 = UH0_0(v5, v136) │
23:19:38 #13060 [Debug] > │ let v138 : (float []) = method2(v137) │
23:19:38 #13061 [Debug] > │ let v139 : float = 0.0 │
23:19:38 #13062 [Debug] > │ let v140 : float = 0.0007224452478461068 │
23:19:38 #13063 [Debug] > │ let v141 : float = 0.0014297283919934465 │
23:19:38 #13064 [Debug] > │ let v142 : float = 0.0021070055388626454 │
23:19:38 #13065 [Debug] > │ let v143 : float = 0.00274006253677335 │
23:19:38 #13066 [Debug] > │ let v144 : float = 0.0033156132912039757 │
23:19:38 #13067 [Debug] > │ let v145 : float = 0.0038215786027292415 │
23:19:38 #13068 [Debug] > │ let v146 : float = 0.004247339675607605 │
23:19:38 #13069 [Debug] > │ let v147 : float = 0.004583960976582912 │
23:19:38 #13070 [Debug] > │ let v148 : float = 0.004824377766717757 │
23:19:38 #13071 [Debug] > │ let v149 : float = 0.00496354437049027 │
23:19:38 #13072 [Debug] > │ let v150 : float = 0.004998540070400965 │
23:19:38 #13073 [Debug] > │ let v151 : float = 0.004928630404658255 │
23:19:38 #13074 [Debug] > │ let v152 : float = 0.004755282581475768 │
23:19:38 #13075 [Debug] > │ let v153 : float = 0.004482134686478519 │
23:19:38 #13076 [Debug] > │ let v154 : float = 0.0041149193294682815 │
23:19:38 #13077 [Debug] > │ let v155 : float = 0.0036613433329888666 │
23:19:38 #13078 [Debug] > │ let v156 : float = 0.0031309259876915697 │
23:19:38 #13079 [Debug] > │ let v157 : float = 0.002534799269067951 │
23:19:38 #13080 [Debug] > │ let v158 : float = 0.0018854742084416015 │
23:19:38 #13081 [Debug] > │ let v159 : float = 0.0011965783214377905 │
23:19:38 #13082 [Debug] > │ let v160 : float = 0.00048256960457257535 │
23:19:38 #13083 [Debug] > │ let v161 : float = -0.00024156689762753317 │
23:19:38 #13084 [Debug] > │ let v162 : float = -0.0009606335867685418 │
23:19:38 #13085 [Debug] > │ let v163 : float = -0.001659539265642642 │
23:19:38 #13086 [Debug] > │ let v164 : float = -0.002323615860218842 │
23:19:38 #13087 [Debug] > │ let v165 : float = -0.0029389262614623636 │
23:19:38 #13088 [Debug] > │ let v166 : float = -0.003492556826244686 │
23:19:38 #13089 [Debug] > │ let v167 : float = -0.003972888398568771 │
23:19:38 #13090 [Debug] > │ let v168 : float = -0.00436984016313259 │
23:19:38 #13091 [Debug] > │ let v169 : float = -0.004675081213427074 │
23:19:38 #13092 [Debug] > │ let v170 : float = -0.004882205394146359 │
23:19:38 #13093 [Debug] > │ let v171 : float = -0.004986865748457456 │
23:19:38 #13094 [Debug] > │ let v172 : float = -0.004986865748457456 │
23:19:38 #13095 [Debug] > │ let v173 : float = -0.004882205394146361 │
23:19:38 #13096 [Debug] > │ let v174 : float = -0.004675081213427074 │
23:19:38 #13097 [Debug] > │ let v175 : float = -0.004369840163132589 │
23:19:38 #13098 [Debug] > │ let v176 : float = -0.003972888398568774 │
23:19:38 #13099 [Debug] > │ let v177 : float = -0.0034925568262446837 │
23:19:38 #13100 [Debug] > │ let v178 : float = -0.002938926261462367 │
23:19:38 #13101 [Debug] > │ let v179 : float = -0.002323615860218846 │
23:19:38 #13102 [Debug] > │ let v180 : float = -0.0016595392656426435 │
23:19:38 #13103 [Debug] > │ let v181 : float = -0.0009606335867685414 │
23:19:38 #13104 [Debug] > │ let v182 : float = -0.00024156689762753724 │
23:19:38 #13105 [Debug] > │ let v183 : float = 0.0004825696045725713 │
23:19:38 #13106 [Debug] > │ let v184 : float = 0.0011965783214377866 │
23:19:38 #13107 [Debug] > │ let v185 : float = 0.0018854742084416021 │
23:19:38 #13108 [Debug] > │ let v186 : float = 0.002534799269067953 │
23:19:38 #13109 [Debug] > │ let v187 : float = 0.003130925987691568 │
23:19:38 #13110 [Debug] > │ let v188 : float = 0.0036613433329888622 │
23:19:38 #13111 [Debug] > │ let v189 : float = 0.0041149193294682815 │
23:19:38 #13112 [Debug] > │ let v190 : float = 0.0044821346864785195 │
23:19:38 #13113 [Debug] > │ let v191 : float = 0.004755282581475766 │
23:19:38 #13114 [Debug] > │ let v192 : float = 0.004928630404658255 │
23:19:38 #13115 [Debug] > │ let v193 : float = 0.004998540070400965 │
23:19:38 #13116 [Debug] > │ let v194 : float = 0.004963544370490271 │
23:19:38 #13117 [Debug] > │ let v195 : float = 0.004824377766717758 │
23:19:38 #13118 [Debug] > │ let v196 : float = 0.004583960976582912 │
23:19:38 #13119 [Debug] > │ let v197 : float = 0.004247339675607605 │
23:19:38 #13120 [Debug] > │ let v198 : float = 0.003821578602729245 │
23:19:38 #13121 [Debug] > │ let v199 : float = 0.0033156132912039783 │
23:19:38 #13122 [Debug] > │ let v200 : float = 0.0027400625367733585 │
23:19:38 #13123 [Debug] > │ let v201 : float = 0.0021070055388626528 │
23:19:38 #13124 [Debug] > │ let v202 : float = 0.001429728391993452 │
23:19:38 #13125 [Debug] > │ let v203 : float = 0.0007224452478461016 │
23:19:38 #13126 [Debug] > │ let v204 : float = 0.0 │
23:19:38 #13127 [Debug] > │ let v205 : UH0 = UH0_1 │
23:19:38 #13128 [Debug] > │ let v206 : UH0 = UH0_0(v204, v205) │
23:19:38 #13129 [Debug] > │ let v207 : UH0 = UH0_0(v203, v206) │
23:19:38 #13130 [Debug] > │ let v208 : UH0 = UH0_0(v202, v207) │
23:19:38 #13131 [Debug] > │ let v209 : UH0 = UH0_0(v201, v208) │
23:19:38 #13132 [Debug] > │ let v210 : UH0 = UH0_0(v200, v209) │
23:19:38 #13133 [Debug] > │ let v211 : UH0 = UH0_0(v199, v210) │
23:19:38 #13134 [Debug] > │ let v212 : UH0 = UH0_0(v198, v211) │
23:19:38 #13135 [Debug] > │ let v213 : UH0 = UH0_0(v197, v212) │
23:19:38 #13136 [Debug] > │ let v214 : UH0 = UH0_0(v196, v213) │
23:19:38 #13137 [Debug] > │ let v215 : UH0 = UH0_0(v195, v214) │
23:19:38 #13138 [Debug] > │ let v216 : UH0 = UH0_0(v194, v215) │
23:19:38 #13139 [Debug] > │ let v217 : UH0 = UH0_0(v193, v216) │
23:19:38 #13140 [Debug] > │ let v218 : UH0 = UH0_0(v192, v217) │
23:19:38 #13141 [Debug] > │ let v219 : UH0 = UH0_0(v191, v218) │
23:19:38 #13142 [Debug] > │ let v220 : UH0 = UH0_0(v190, v219) │
23:19:38 #13143 [Debug] > │ let v221 : UH0 = UH0_0(v189, v220) │
23:19:38 #13144 [Debug] > │ let v222 : UH0 = UH0_0(v188, v221) │
23:19:38 #13145 [Debug] > │ let v223 : UH0 = UH0_0(v187, v222) │
23:19:38 #13146 [Debug] > │ let v224 : UH0 = UH0_0(v186, v223) │
23:19:38 #13147 [Debug] > │ let v225 : UH0 = UH0_0(v185, v224) │
23:19:38 #13148 [Debug] > │ let v226 : UH0 = UH0_0(v184, v225) │
23:19:38 #13149 [Debug] > │ let v227 : UH0 = UH0_0(v183, v226) │
23:19:38 #13150 [Debug] > │ let v228 : UH0 = UH0_0(v182, v227) │
23:19:38 #13151 [Debug] > │ let v229 : UH0 = UH0_0(v181, v228) │
23:19:38 #13152 [Debug] > │ let v230 : UH0 = UH0_0(v180, v229) │
23:19:38 #13153 [Debug] > │ let v231 : UH0 = UH0_0(v179, v230) │
23:19:38 #13154 [Debug] > │ let v232 : UH0 = UH0_0(v178, v231) │
23:19:38 #13155 [Debug] > │ let v233 : UH0 = UH0_0(v177, v232) │
23:19:38 #13156 [Debug] > │ let v234 : UH0 = UH0_0(v176, v233) │
23:19:38 #13157 [Debug] > │ let v235 : UH0 = UH0_0(v175, v234) │
23:19:38 #13158 [Debug] > │ let v236 : UH0 = UH0_0(v174, v235) │
23:19:38 #13159 [Debug] > │ let v237 : UH0 = UH0_0(v173, v236) │
23:19:38 #13160 [Debug] > │ let v238 : UH0 = UH0_0(v172, v237) │
23:19:38 #13161 [Debug] > │ let v239 : UH0 = UH0_0(v171, v238) │
23:19:38 #13162 [Debug] > │ let v240 : UH0 = UH0_0(v170, v239) │
23:19:38 #13163 [Debug] > │ let v241 : UH0 = UH0_0(v169, v240) │
23:19:38 #13164 [Debug] > │ let v242 : UH0 = UH0_0(v168, v241) │
23:19:38 #13165 [Debug] > │ let v243 : UH0 = UH0_0(v167, v242) │
23:19:38 #13166 [Debug] > │ let v244 : UH0 = UH0_0(v166, v243) │
23:19:38 #13167 [Debug] > │ let v245 : UH0 = UH0_0(v165, v244) │
23:19:38 #13168 [Debug] > │ let v246 : UH0 = UH0_0(v164, v245) │
23:19:38 #13169 [Debug] > │ let v247 : UH0 = UH0_0(v163, v246) │
23:19:38 #13170 [Debug] > │ let v248 : UH0 = UH0_0(v162, v247) │
23:19:38 #13171 [Debug] > │ let v249 : UH0 = UH0_0(v161, v248) │
23:19:38 #13172 [Debug] > │ let v250 : UH0 = UH0_0(v160, v249) │
23:19:38 #13173 [Debug] > │ let v251 : UH0 = UH0_0(v159, v250) │
23:19:38 #13174 [Debug] > │ let v252 : UH0 = UH0_0(v158, v251) │
23:19:38 #13175 [Debug] > │ let v253 : UH0 = UH0_0(v157, v252) │
23:19:38 #13176 [Debug] > │ let v254 : UH0 = UH0_0(v156, v253) │
23:19:38 #13177 [Debug] > │ let v255 : UH0 = UH0_0(v155, v254) │
23:19:38 #13178 [Debug] > │ let v256 : UH0 = UH0_0(v154, v255) │
23:19:38 #13179 [Debug] > │ let v257 : UH0 = UH0_0(v153, v256) │
23:19:38 #13180 [Debug] > │ let v258 : UH0 = UH0_0(v152, v257) │
23:19:38 #13181 [Debug] > │ let v259 : UH0 = UH0_0(v151, v258) │
23:19:38 #13182 [Debug] > │ let v260 : UH0 = UH0_0(v150, v259) │
23:19:38 #13183 [Debug] > │ let v261 : UH0 = UH0_0(v149, v260) │
23:19:38 #13184 [Debug] > │ let v262 : UH0 = UH0_0(v148, v261) │
23:19:38 #13185 [Debug] > │ let v263 : UH0 = UH0_0(v147, v262) │
23:19:38 #13186 [Debug] > │ let v264 : UH0 = UH0_0(v146, v263) │
23:19:38 #13187 [Debug] > │ let v265 : UH0 = UH0_0(v145, v264) │
23:19:38 #13188 [Debug] > │ let v266 : UH0 = UH0_0(v144, v265) │
23:19:38 #13189 [Debug] > │ let v267 : UH0 = UH0_0(v143, v266) │
23:19:38 #13190 [Debug] > │ let v268 : UH0 = UH0_0(v142, v267) │
23:19:38 #13191 [Debug] > │ let v269 : UH0 = UH0_0(v141, v268) │
23:19:38 #13192 [Debug] > │ let v270 : UH0 = UH0_0(v140, v269) │
23:19:38 #13193 [Debug] > │ let v271 : UH0 = UH0_0(v139, v270) │
23:19:38 #13194 [Debug] > │ let v272 : (float []) = method2(v271) │
23:19:38 #13195 [Debug] > │ UH1_0(v138, v272, v4) │
23:19:38 #13196 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:38 #13197 [Debug] > │ v1 │
23:19:38 #13198 [Debug] > │ and method6 (v0 : UH1, v1 : int32) : int32 = │
23:19:38 #13199 [Debug] > │ match v0 with │
23:19:38 #13200 [Debug] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
23:19:38 #13201 [Debug] > │ let v5 : int32 = v1 + 1 │
23:19:38 #13202 [Debug] > │ method6(v4, v5) │
23:19:38 #13203 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:38 #13204 [Debug] > │ v1 │
23:19:38 #13205 [Debug] > │ and method7 (v0 : (struct ((float []) * (float [])) []), v1 : UH1, v2 : │
23:19:38 #13206 [Debug] > │ int32) : int32 = │
23:19:38 #13207 [Debug] > │ match v1 with │
23:19:38 #13208 [Debug] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
23:19:38 #13209 [Debug] > │ v0.[int v2] <- struct (v3, v4) │
23:19:38 #13210 [Debug] > │ let v6 : int32 = v2 + 1 │
23:19:38 #13211 [Debug] > │ method7(v0, v5, v6) │
23:19:38 #13212 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:38 #13213 [Debug] > │ v2 │
23:19:38 #13214 [Debug] > │ and method5 (v0 : UH1) : (struct ((float []) * (float [])) []) = │
23:19:38 #13215 [Debug] > │ let v1 : int32 = 0 │
23:19:38 #13216 [Debug] > │ let v2 : int32 = method6(v0, v1) │
23:19:38 #13217 [Debug] > │ let v3 : (struct ((float []) * (float [])) []) = Array.zeroCreate<struct │
23:19:38 #13218 [Debug] > │ ((float []) * (float []))> (v2) │
23:19:38 #13219 [Debug] > │ let v4 : int32 = 0 │
23:19:38 #13220 [Debug] > │ let v5 : int32 = method7(v3, v0, v4) │
23:19:38 #13221 [Debug] > │ v3 │
23:19:38 #13222 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:38 #13223 [Debug] > │ []) * (float [])) [])) = │
23:19:38 #13224 [Debug] > │ let v0 : float = 0.0 │
23:19:38 #13225 [Debug] > │ let v1 : float = 1.0 │
23:19:38 #13226 [Debug] > │ let v2 : float = 2.0 │
23:19:38 #13227 [Debug] > │ let v3 : float = 3.0 │
23:19:38 #13228 [Debug] > │ let v4 : float = 4.0 │
23:19:38 #13229 [Debug] > │ let v5 : float = 5.0 │
23:19:38 #13230 [Debug] > │ let v6 : float = 6.0 │
23:19:38 #13231 [Debug] > │ let v7 : float = 7.0 │
23:19:38 #13232 [Debug] > │ let v8 : float = 8.0 │
23:19:38 #13233 [Debug] > │ let v9 : float = 9.0 │
23:19:38 #13234 [Debug] > │ let v10 : UH0 = UH0_1 │
23:19:38 #13235 [Debug] > │ let v11 : UH0 = UH0_0(v9, v10) │
23:19:38 #13236 [Debug] > │ let v12 : UH0 = UH0_0(v8, v11) │
23:19:38 #13237 [Debug] > │ let v13 : UH0 = UH0_0(v7, v12) │
23:19:38 #13238 [Debug] > │ let v14 : UH0 = UH0_0(v6, v13) │
23:19:38 #13239 [Debug] > │ let v15 : UH0 = UH0_0(v5, v14) │
23:19:38 #13240 [Debug] > │ let v16 : UH0 = UH0_0(v4, v15) │
23:19:38 #13241 [Debug] > │ let v17 : UH0 = UH0_0(v3, v16) │
23:19:38 #13242 [Debug] > │ let v18 : UH0 = UH0_0(v2, v17) │
23:19:38 #13243 [Debug] > │ let v19 : UH0 = UH0_0(v1, v18) │
23:19:38 #13244 [Debug] > │ let v20 : UH0 = UH0_0(v0, v19) │
23:19:38 #13245 [Debug] > │ let v21 : UH1 = UH1_1 │
23:19:38 #13246 [Debug] > │ let v22 : UH1 = method1(v20, v21) │
23:19:38 #13247 [Debug] > │ let v23 : (struct ((float []) * (float [])) []) = method5(v22) │
23:19:38 #13248 [Debug] > │ let struct (v24 : (float []), v25 : (float [])) = v23.[int 0] │
23:19:38 #13249 [Debug] > │ let v26 : string = $"{0}" │
23:19:38 #13250 [Debug] > │ let v27 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:38 #13251 [Debug] > │ (v26, v24, v25)|] │
23:19:38 #13252 [Debug] > │ let v28 : string = "wave" │
23:19:38 #13253 [Debug] > │ let v29 : string = "position (m)" │
23:19:38 #13254 [Debug] > │ let v30 : string = "displacement (m)" │
23:19:38 #13255 [Debug] > │ struct (v28, v29, v30, v27) │
23:19:38 #13256 [Debug] > │ method0() │
23:19:38 #13257 [Debug] > │ │
23:19:38 #13258 [Debug] > │ │
23:19:38 #13259 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:38 #13260 [Debug] >
23:19:38 #13261 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:38 #13262 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:38 #13263 [Debug] > │ ### system kinetic energy versus time 2 │
23:19:38 #13264 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:38 #13265 [Debug] >
23:19:38 #13266 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:38 #13267 [Debug] > // // test
23:19:38 #13268 [Debug] >
23:19:38 #13269 [Debug] > inl central_force f (particle_state st1) (particle_state st2) =
23:19:38 #13270 [Debug] > inl r1 = st1.pos_vec
23:19:38 #13271 [Debug] > inl r2 = st2.pos_vec
23:19:38 #13272 [Debug] > inl r21 = r2 ^-^ r1
23:19:38 #13273 [Debug] > inl r21mag = magnitude r21
23:19:38 #13274 [Debug] > f r21mag *^ r21 ^/ r21mag
23:19:38 #13275 [Debug] >
23:19:38 #13276 [Debug] > inl billiard_force k re =
23:19:38 #13277 [Debug] > inl f r =
23:19:38 #13278 [Debug] > if r >= re
23:19:38 #13279 [Debug] > then 0
23:19:38 #13280 [Debug] > else -k * (r - re)
23:19:38 #13281 [Debug] > central_force f
23:19:38 #13282 [Debug] >
23:19:38 #13283 [Debug] > type force_vector = vec
23:19:38 #13284 [Debug] > type two_body_force = particle_state -> particle_state -> force_vector
23:19:38 #13285 [Debug] >
23:19:38 #13286 [Debug] > union force t =
23:19:38 #13287 [Debug] > | ExternalForce : t * one_body_force
23:19:38 #13288 [Debug] > | InternalForce : t * t * two_body_force
23:19:38 #13289 [Debug] >
23:19:38 #13290 [Debug] > nominal multi_particle_state dim = seq.seq dim particle_state
23:19:38 #13291 [Debug] >
23:19:38 #13292 [Debug] > nominal d_multi_particle_state dim = seq.seq dim d_particle_state
23:19:38 #13293 [Debug] >
23:19:38 #13294 [Debug] > inl force_on n s force =
23:19:38 #13295 [Debug] > match force with
23:19:38 #13296 [Debug] > | ExternalForce (n0, f_one_body) =>
23:19:38 #13297 [Debug] > if n = n0
23:19:38 #13298 [Debug] > then f_one_body
23:19:38 #13299 [Debug] > else fun _ => zero_vec ()
23:19:38 #13300 [Debug] > |> Some
23:19:38 #13301 [Debug] > | InternalForce (n0, n1, f_two_body) =>
23:19:38 #13302 [Debug] > if n = n0
23:19:38 #13303 [Debug] > then n1 |> s |> optionm.map f_two_body
23:19:38 #13304 [Debug] > elif n = n1
23:19:38 #13305 [Debug] > then n0 |> s |> optionm.map f_two_body
23:19:38 #13306 [Debug] > else Some (fun _ => zero_vec ())
23:19:38 #13307 [Debug] >
23:19:38 #13308 [Debug] > inl forces_on n (multi_particle_state sts) fs =
23:19:38 #13309 [Debug] > fs
23:19:38 #13310 [Debug] > |> listm.map (force_on n sts)
23:19:38 #13311 [Debug] > |> listm'.choose id
23:19:38 #13312 [Debug] >
23:19:38 #13313 [Debug] > inl newton_second_mps fs ((multi_particle_state sts) as mpst) =
23:19:38 #13314 [Debug] > fun n =>
23:19:38 #13315 [Debug] > sts n
23:19:38 #13316 [Debug] > |> optionm.map ((newton_second_ps (forces_on n (multi_particle_state
23:19:38 #13317 [Debug] > sts) fs)))
23:19:38 #13318 [Debug] > |> d_multi_particle_state
23:19:38 #13319 [Debug] >
23:19:38 #13320 [Debug] > instance (+++) d_multi_particle_state dim {number} =
23:19:38 #13321 [Debug] > fun (d_multi_particle_state dsts1) (d_multi_particle_state dsts2) =>
23:19:38 #13322 [Debug] > (dsts1, dsts2)
23:19:38 #13323 [Debug] > ||> seq.zip_with (optionm'.choose (+++))
23:19:38 #13324 [Debug] > |> d_multi_particle_state
23:19:38 #13325 [Debug] >
23:19:38 #13326 [Debug] > instance scale d_multi_particle_state dim {number} = fun w
23:19:38 #13327 [Debug] > (d_multi_particle_state dsts) =>
23:19:38 #13328 [Debug] > dsts >> (optionm'.choose scale (Some w))
23:19:38 #13329 [Debug] > |> d_multi_particle_state
23:19:38 #13330 [Debug] >
23:19:38 #13331 [Debug] > instance shift multi_particle_state dim {number} = fun dt dsts
23:19:38 #13332 [Debug] > (multi_particle_state sts) =>
23:19:38 #13333 [Debug] > inl (d_multi_particle_state dsts) =
23:19:38 #13334 [Debug] > real
23:19:38 #13335 [Debug] > match dsts with
23:19:38 #13336 [Debug] > | d_multi_particle_state _ => dsts
23:19:38 #13337 [Debug] > (dsts, sts)
23:19:38 #13338 [Debug] > ||> seq.zip_with (optionm'.choose (shift dt))
23:19:38 #13339 [Debug] > |> seq.memoize_
23:19:38 #13340 [Debug] > |> multi_particle_state
23:19:38 #13341 [Debug] >
23:19:38 #13342 [Debug] > inl euler_cromer_mps forall dim {number}. dt : numerical_method
23:19:38 #13343 [Debug] > (multi_particle_state dim) (d_multi_particle_state dim) =
23:19:38 #13344 [Debug] > fun deriv ((multi_particle_state sts0) as mpst0) =>
23:19:38 #13345 [Debug] > inl (multi_particle_state sts1) = euler dt deriv mpst0
23:19:38 #13346 [Debug] > fun n =>
23:19:38 #13347 [Debug] > (sts0, sts1)
23:19:38 #13348 [Debug] > ||> seq.zip n
23:19:38 #13349 [Debug] > |> function
23:19:38 #13350 [Debug] > | Some (particle_state st0), Some (particle_state st1) =>
23:19:38 #13351 [Debug] > particle_state {
23:19:38 #13352 [Debug] > st1 with
23:19:38 #13353 [Debug] > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt
23:19:38 #13354 [Debug] > }
23:19:38 #13355 [Debug] > |> Some
23:19:38 #13356 [Debug] > | _ => None
23:19:38 #13357 [Debug] > |> multi_particle_state
23:19:38 #13358 [Debug] >
23:19:38 #13359 [Debug] > inl update_mps (method : numerical_method (multi_particle_state _)
23:19:38 #13360 [Debug] > (d_multi_particle_state _)) =
23:19:38 #13361 [Debug] > newton_second_mps >> method
23:19:38 #13362 [Debug] >
23:19:38 #13363 [Debug] > inl states_mps (method : numerical_method (multi_particle_state _)
23:19:38 #13364 [Debug] > (d_multi_particle_state _)) =
23:19:38 #13365 [Debug] > newton_second_mps
23:19:38 #13366 [Debug] > >> method
23:19:38 #13367 [Debug] > >> (fun x (multi_particle_state y) =>
23:19:38 #13368 [Debug] > y |> seq.memoize_ |> multi_particle_state |> x
23:19:38 #13369 [Debug] > )
23:19:38 #13370 [Debug] > >> seq.iterate_
23:19:38 #13371 [Debug] >
23:19:38 #13372 [Debug] > inl kinetic_energy (particle_state st) =
23:19:38 #13373 [Debug] > inl m = st.mass
23:19:38 #13374 [Debug] > inl v = magnitude st.velocity
23:19:38 #13375 [Debug] > 0.5 * m * v ** 2
23:19:38 #13376 [Debug] >
23:19:38 #13377 [Debug] > inl system_ke (multi_particle_state sts) =
23:19:38 #13378 [Debug] > sts >> optionm.map kinetic_energy
23:19:38 #13379 [Debug] > |> seq.sum_
23:19:38 #13380 [Debug] >
23:19:38 #13381 [Debug] > inl linear_spring_pe k re (particle_state st1) (particle_state st2) =
23:19:38 #13382 [Debug] > inl r1 = st1.pos_vec
23:19:38 #13383 [Debug] > inl r2 = st2.pos_vec
23:19:38 #13384 [Debug] > inl r21 = r2 ^-^ r1
23:19:38 #13385 [Debug] > inl r21mag = magnitude r21
23:19:38 #13386 [Debug] > k * (r21mag - re) ** 2 / 2
23:19:38 #13387 [Debug] >
23:19:38 #13388 [Debug] > inl earth_surface_gravity_pe (particle_state st) =
23:19:38 #13389 [Debug] > inl g = 9.80665
23:19:38 #13390 [Debug] > inl m = st.mass
23:19:38 #13391 [Debug] > inl z = st.pos_vec.z
23:19:38 #13392 [Debug] > m * g * z
23:19:38 #13393 [Debug] >
23:19:38 #13394 [Debug] > inl two_springs_pe (multi_particle_state sts) =
23:19:38 #13395 [Debug] > match sts 0, sts 1 with
23:19:38 #13396 [Debug] > | Some st0, Some st1 =>
23:19:38 #13397 [Debug] > linear_spring_pe 100 0.5 (default_particle_state ()) st0
23:19:38 #13398 [Debug] > + linear_spring_pe 100 0.5 st0 st1
23:19:38 #13399 [Debug] > + earth_surface_gravity_pe st0
23:19:38 #13400 [Debug] > + earth_surface_gravity_pe st1
23:19:38 #13401 [Debug] > |> Some
23:19:38 #13402 [Debug] > | _ => None
23:19:38 #13403 [Debug] >
23:19:38 #13404 [Debug] > inl two_springs_me mpst =
23:19:38 #13405 [Debug] > system_ke mpst + (two_springs_pe mpst |> optionm'.default_value 0)
23:19:38 #13406 [Debug] >
23:19:38 #13407 [Debug] > inl ball_radius () = 0.03
23:19:38 #13408 [Debug] >
23:19:38 #13409 [Debug] > inl billiard_forces k =
23:19:38 #13410 [Debug] > [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]]
23:19:38 #13411 [Debug] >
23:19:38 #13412 [Debug] > inl billiard_update n_method k dt =
23:19:38 #13413 [Debug] > update_mps (n_method dt) (billiard_forces k)
23:19:38 #13414 [Debug] >
23:19:38 #13415 [Debug] > inl billiard_initial () =
23:19:38 #13416 [Debug] > inl ball_mass = 0.160
23:19:38 #13417 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:38 #13418 [Debug] > [[
23:19:38 #13419 [Debug] > particle_state {
23:19:38 #13420 [Debug] > default_particle_state' with
23:19:38 #13421 [Debug] > mass = ball_mass
23:19:38 #13422 [Debug] > pos_vec = zero_vec ()
23:19:38 #13423 [Debug] > velocity = 0.2 *^ i_hat ()
23:19:38 #13424 [Debug] > }
23:19:38 #13425 [Debug] > particle_state {
23:19:38 #13426 [Debug] > default_particle_state' with
23:19:38 #13427 [Debug] > mass = ball_mass
23:19:38 #13428 [Debug] > pos_vec = i_hat () ^+^ 0.02 *^ j_hat ()
23:19:38 #13429 [Debug] > velocity = zero_vec ()
23:19:38 #13430 [Debug] > }
23:19:38 #13431 [Debug] > ]]
23:19:38 #13432 [Debug] > |> seq.from_list
23:19:38 #13433 [Debug] > |> multi_particle_state
23:19:38 #13434 [Debug] >
23:19:38 #13435 [Debug] > inl billiard_states ~n_method k dt =
23:19:38 #13436 [Debug] > states_mps (n_method dt) (billiard_forces k) (billiard_initial ())
23:19:38 #13437 [Debug] >
23:19:38 #13438 [Debug] > inl billiard_states_finite n_method k dt =
23:19:38 #13439 [Debug] > billiard_states n_method k dt
23:19:38 #13440 [Debug] > >> Some
23:19:38 #13441 [Debug] > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) =>
23:19:38 #13442 [Debug] > match mpst 0 with
23:19:38 #13443 [Debug] > | Some st =>
23:19:38 #13444 [Debug] > st.time <= 10
23:19:38 #13445 [Debug] > | None => false
23:19:38 #13446 [Debug] > )
23:19:38 #13447 [Debug] >
23:19:38 #13448 [Debug] > inl momentum (particle_state st) =
23:19:38 #13449 [Debug] > inl m = st.mass
23:19:38 #13450 [Debug] > inl v = st.velocity
23:19:38 #13451 [Debug] > m *^ v
23:19:38 #13452 [Debug] >
23:19:38 #13453 [Debug] > inl system_p (multi_particle_state sts) =
23:19:38 #13454 [Debug] > sts >> optionm.map momentum
23:19:38 #13455 [Debug] > |> seq.fold (^+^) (zero_vec ())
23:19:38 #13456 [Debug] >
23:19:38 #13457 [Debug] > inl time_ke_ec_x, time_ke_ec_y =
23:19:38 #13458 [Debug] > billiard_states_finite euler_cromer_mps 30 0.03
23:19:38 #13459 [Debug] > |> listm.map (fun (multi_particle_state mpst) =>
23:19:38 #13460 [Debug] > mpst 0i32
23:19:38 #13461 [Debug] > |> optionm.map (fun st =>
23:19:38 #13462 [Debug] > st.time, system_ke (multi_particle_state mpst)
23:19:38 #13463 [Debug] > )
23:19:38 #13464 [Debug] > )
23:19:38 #13465 [Debug] > |> listm'.choose id
23:19:38 #13466 [Debug] > |> listm'.unzip
23:19:38 #13467 [Debug] >
23:19:38 #13468 [Debug] > inl time_ke_rk4_x, time_ke_rk4_y =
23:19:38 #13469 [Debug] > billiard_states_finite runge_kutta_4 30 0.03
23:19:38 #13470 [Debug] > |> listm.map (fun (multi_particle_state mpst) =>
23:19:38 #13471 [Debug] > mpst 0i32
23:19:38 #13472 [Debug] > |> optionm.map (fun st =>
23:19:38 #13473 [Debug] > st.time, system_ke (multi_particle_state mpst)
23:19:38 #13474 [Debug] > )
23:19:38 #13475 [Debug] > )
23:19:38 #13476 [Debug] > |> listm'.choose id
23:19:38 #13477 [Debug] > |> listm'.unzip
23:19:38 #13478 [Debug] >
23:19:38 #13479 [Debug] > inl time_ke_ec_x : a i32 _ = time_ke_ec_x |> listm.toArray
23:19:38 #13480 [Debug] > inl time_ke_ec_y : a i32 _ = time_ke_ec_y |> listm.toArray
23:19:38 #13481 [Debug] >
23:19:38 #13482 [Debug] > inl time_ke_rk4_x : a i32 _ = time_ke_rk4_x |> listm.toArray
23:19:38 #13483 [Debug] > inl time_ke_rk4_y : a i32 _ = time_ke_rk4_y |> listm.toArray
23:19:38 #13484 [Debug] >
23:19:38 #13485 [Debug] > "system kinetic energy versus time",
23:19:38 #13486 [Debug] > "time (s)",
23:19:38 #13487 [Debug] > "system kinetic energy (j)",
23:19:38 #13488 [Debug] > ;[[
23:19:38 #13489 [Debug] > "euler-cromer", time_ke_ec_x, time_ke_ec_y
23:19:38 #13490 [Debug] > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y
23:19:38 #13491 [Debug] > ]]
23:19:38 #13492 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-3822-2249-2360804efa21\main.spi
23:19:40 #13493 [Debug] >
23:19:40 #13494 [Debug] > ╭─[ 2.61s - return value ]─────────────────────────────────────────────────────╮
23:19:40 #13495 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:40 #13496 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:40 #13497 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:40 #13498 [Debug] > │ stroke="none"/> │
23:19:40 #13499 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:40 #13500 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13501 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13502 [Debug] > │ system kinetic energy versus time │
23:19:40 #13503 [Debug] > │ </text> │
23:19:40 #13504 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │
23:19:40 #13505 [Debug] > │ y2="75"/> │
23:19:40 #13506 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:40 #13507 [Debug] > │ y2="75"/> │
23:19:40 #13508 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │
23:19:40 #13509 [Debug] > │ y2="75"/> │
23:19:40 #13510 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │
23:19:40 #13511 [Debug] > │ y2="75"/> │
23:19:40 #13512 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │
23:19:40 #13513 [Debug] > │ y2="75"/> │
23:19:40 #13514 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │
23:19:40 #13515 [Debug] > │ x2="109" y2="75"/> │
23:19:40 #13516 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │
23:19:40 #13517 [Debug] > │ x2="119" y2="75"/> │
23:19:40 #13518 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │
23:19:40 #13519 [Debug] > │ x2="129" y2="75"/> │
23:19:40 #13520 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:40 #13521 [Debug] > │ x2="139" y2="75"/> │
23:19:40 #13522 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │
23:19:40 #13523 [Debug] > │ x2="149" y2="75"/> │
23:19:40 #13524 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │
23:19:40 #13525 [Debug] > │ x2="159" y2="75"/> │
23:19:40 #13526 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:40 #13527 [Debug] > │ x2="169" y2="75"/> │
23:19:40 #13528 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │
23:19:40 #13529 [Debug] > │ x2="179" y2="75"/> │
23:19:40 #13530 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │
23:19:40 #13531 [Debug] > │ x2="189" y2="75"/> │
23:19:40 #13532 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="199" y1="424" │
23:19:40 #13533 [Debug] > │ x2="199" y2="75"/> │
23:19:40 #13534 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="209" y1="424" │
23:19:40 #13535 [Debug] > │ x2="209" y2="75"/> │
23:19:40 #13536 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="219" y1="424" │
23:19:40 #13537 [Debug] > │ x2="219" y2="75"/> │
23:19:40 #13538 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="229" y1="424" │
23:19:40 #13539 [Debug] > │ x2="229" y2="75"/> │
23:19:40 #13540 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="239" y1="424" │
23:19:40 #13541 [Debug] > │ x2="239" y2="75"/> │
23:19:40 #13542 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="249" y1="424" │
23:19:40 #13543 [Debug] > │ x2="249" y2="75"/> │
23:19:40 #13544 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="259" y1="424" │
23:19:40 #13545 [Debug] > │ x2="259" y2="75"/> │
23:19:40 #13546 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:40 #13547 [Debug] > │ x2="269" y2="75"/> │
23:19:40 #13548 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="279" y1="424" │
23:19:40 #13549 [Debug] > │ x2="279" y2="75"/> │
23:19:40 #13550 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="289" y1="424" │
23:19:40 #13551 [Debug] > │ x2="289" y2="75"/> │
23:19:40 #13552 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="299" y1="424" │
23:19:40 #13553 [Debug] > │ x2="299" y2="75"/> │
23:19:40 #13554 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="309" y1="424" │
23:19:40 #13555 [Debug] > │ x2="309" y2="75"/> │
23:19:40 #13556 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="319" y1="424" │
23:19:40 #13557 [Debug] > │ x2="319" y2="75"/> │
23:19:40 #13558 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="329" y1="424" │
23:19:40 #13559 [Debug] > │ x2="329" y2="75"/> │
23:19:40 #13560 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="339" y1="424" │
23:19:40 #13561 [Debug] > │ x2="339" y2="75"/> │
23:19:40 #13562 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="349" y1="424" │
23:19:40 #13563 [Debug] > │ x2="349" y2="75"/> │
23:19:40 #13564 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="359" y1="424" │
23:19:40 #13565 [Debug] > │ x2="359" y2="75"/> │
23:19:40 #13566 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:40 #13567 [Debug] > │ x2="369" y2="75"/> │
23:19:40 #13568 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="379" y1="424" │
23:19:40 #13569 [Debug] > │ x2="379" y2="75"/> │
23:19:40 #13570 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="389" y1="424" │
23:19:40 #13571 [Debug] > │ x2="389" y2="75"/> │
23:19:40 #13572 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="399" y1="424" │
23:19:40 #13573 [Debug] > │ x2="399" y2="75"/> │
23:19:40 #13574 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="409" y1="424" │
23:19:40 #13575 [Debug] > │ x2="409" y2="75"/> │
23:19:40 #13576 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="419" y1="424" │
23:19:40 #13577 [Debug] > │ x2="419" y2="75"/> │
23:19:40 #13578 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="429" y1="424" │
23:19:40 #13579 [Debug] > │ x2="429" y2="75"/> │
23:19:40 #13580 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="439" y1="424" │
23:19:40 #13581 [Debug] > │ x2="439" y2="75"/> │
23:19:40 #13582 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="449" y1="424" │
23:19:40 #13583 [Debug] > │ x2="449" y2="75"/> │
23:19:40 #13584 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="459" y1="424" │
23:19:40 #13585 [Debug] > │ x2="459" y2="75"/> │
23:19:40 #13586 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:40 #13587 [Debug] > │ x2="469" y2="75"/> │
23:19:40 #13588 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="479" y1="424" │
23:19:40 #13589 [Debug] > │ x2="479" y2="75"/> │
23:19:40 #13590 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="489" y1="424" │
23:19:40 #13591 [Debug] > │ x2="489" y2="75"/> │
23:19:40 #13592 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:40 #13593 [Debug] > │ x2="499" y2="75"/> │
23:19:40 #13594 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="509" y1="424" │
23:19:40 #13595 [Debug] > │ x2="509" y2="75"/> │
23:19:40 #13596 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="519" y1="424" │
23:19:40 #13597 [Debug] > │ x2="519" y2="75"/> │
23:19:40 #13598 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="529" y1="424" │
23:19:40 #13599 [Debug] > │ x2="529" y2="75"/> │
23:19:40 #13600 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="539" y1="424" │
23:19:40 #13601 [Debug] > │ x2="539" y2="75"/> │
23:19:40 #13602 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="549" y1="424" │
23:19:40 #13603 [Debug] > │ x2="549" y2="75"/> │
23:19:40 #13604 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="559" y1="424" │
23:19:40 #13605 [Debug] > │ x2="559" y2="75"/> │
23:19:40 #13606 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:40 #13607 [Debug] > │ x2="569" y2="75"/> │
23:19:40 #13608 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="579" y1="424" │
23:19:40 #13609 [Debug] > │ x2="579" y2="75"/> │
23:19:40 #13610 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="416" │
23:19:40 #13611 [Debug] > │ x2="584" y2="416"/> │
23:19:40 #13612 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="404" │
23:19:40 #13613 [Debug] > │ x2="584" y2="404"/> │
23:19:40 #13614 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="392" │
23:19:40 #13615 [Debug] > │ x2="584" y2="392"/> │
23:19:40 #13616 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="380" │
23:19:40 #13617 [Debug] > │ x2="584" y2="380"/> │
23:19:40 #13618 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="368" │
23:19:40 #13619 [Debug] > │ x2="584" y2="368"/> │
23:19:40 #13620 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="356" │
23:19:40 #13621 [Debug] > │ x2="584" y2="356"/> │
23:19:40 #13622 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="344" │
23:19:40 #13623 [Debug] > │ x2="584" y2="344"/> │
23:19:40 #13624 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="332" │
23:19:40 #13625 [Debug] > │ x2="584" y2="332"/> │
23:19:40 #13626 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="321" │
23:19:40 #13627 [Debug] > │ x2="584" y2="321"/> │
23:19:40 #13628 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="309" │
23:19:40 #13629 [Debug] > │ x2="584" y2="309"/> │
23:19:40 #13630 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="297" │
23:19:40 #13631 [Debug] > │ x2="584" y2="297"/> │
23:19:40 #13632 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="285" │
23:19:40 #13633 [Debug] > │ x2="584" y2="285"/> │
23:19:40 #13634 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="273" │
23:19:40 #13635 [Debug] > │ x2="584" y2="273"/> │
23:19:40 #13636 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="261" │
23:19:40 #13637 [Debug] > │ x2="584" y2="261"/> │
23:19:40 #13638 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="249" │
23:19:40 #13639 [Debug] > │ x2="584" y2="249"/> │
23:19:40 #13640 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="237" │
23:19:40 #13641 [Debug] > │ x2="584" y2="237"/> │
23:19:40 #13642 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="225" │
23:19:40 #13643 [Debug] > │ x2="584" y2="225"/> │
23:19:40 #13644 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="213" │
23:19:40 #13645 [Debug] > │ x2="584" y2="213"/> │
23:19:40 #13646 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:40 #13647 [Debug] > │ x2="584" y2="201"/> │
23:19:40 #13648 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="189" │
23:19:40 #13649 [Debug] > │ x2="584" y2="189"/> │
23:19:40 #13650 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="177" │
23:19:40 #13651 [Debug] > │ x2="584" y2="177"/> │
23:19:40 #13652 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="165" │
23:19:40 #13653 [Debug] > │ x2="584" y2="165"/> │
23:19:40 #13654 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="153" │
23:19:40 #13655 [Debug] > │ x2="584" y2="153"/> │
23:19:40 #13656 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="142" │
23:19:40 #13657 [Debug] > │ x2="584" y2="142"/> │
23:19:40 #13658 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="130" │
23:19:40 #13659 [Debug] > │ x2="584" y2="130"/> │
23:19:40 #13660 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:40 #13661 [Debug] > │ x2="584" y2="118"/> │
23:19:40 #13662 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="106" │
23:19:40 #13663 [Debug] > │ x2="584" y2="106"/> │
23:19:40 #13664 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="94" x2="584" │
23:19:40 #13665 [Debug] > │ y2="94"/> │
23:19:40 #13666 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="82" x2="584" │
23:19:40 #13667 [Debug] > │ y2="82"/> │
23:19:40 #13668 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:40 #13669 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13670 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13671 [Debug] > │ time (s) │
23:19:40 #13672 [Debug] > │ </text> │
23:19:40 #13673 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:40 #13674 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13675 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:40 #13676 [Debug] > │ system kinetic energy (j) │
23:19:40 #13677 [Debug] > │ </text> │
23:19:40 #13678 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13679 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13680 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13681 [Debug] > │ time (s) │
23:19:40 #13682 [Debug] > │ </text> │
23:19:40 #13683 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:40 #13684 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13685 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:40 #13686 [Debug] > │ system kinetic energy (j) │
23:19:40 #13687 [Debug] > │ </text> │
23:19:40 #13688 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:40 #13689 [Debug] > │ y2="75"/> │
23:19:40 #13690 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="119" y1="424" │
23:19:40 #13691 [Debug] > │ x2="119" y2="75"/> │
23:19:40 #13692 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="169" y1="424" │
23:19:40 #13693 [Debug] > │ x2="169" y2="75"/> │
23:19:40 #13694 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="219" y1="424" │
23:19:40 #13695 [Debug] > │ x2="219" y2="75"/> │
23:19:40 #13696 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="269" y1="424" │
23:19:40 #13697 [Debug] > │ x2="269" y2="75"/> │
23:19:40 #13698 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="319" y1="424" │
23:19:40 #13699 [Debug] > │ x2="319" y2="75"/> │
23:19:40 #13700 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="369" y1="424" │
23:19:40 #13701 [Debug] > │ x2="369" y2="75"/> │
23:19:40 #13702 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="419" y1="424" │
23:19:40 #13703 [Debug] > │ x2="419" y2="75"/> │
23:19:40 #13704 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="469" y1="424" │
23:19:40 #13705 [Debug] > │ x2="469" y2="75"/> │
23:19:40 #13706 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="519" y1="424" │
23:19:40 #13707 [Debug] > │ x2="519" y2="75"/> │
23:19:40 #13708 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:40 #13709 [Debug] > │ x2="569" y2="75"/> │
23:19:40 #13710 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="380" │
23:19:40 #13711 [Debug] > │ x2="584" y2="380"/> │
23:19:40 #13712 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="332" │
23:19:40 #13713 [Debug] > │ x2="584" y2="332"/> │
23:19:40 #13714 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="285" │
23:19:40 #13715 [Debug] > │ x2="584" y2="285"/> │
23:19:40 #13716 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="237" │
23:19:40 #13717 [Debug] > │ x2="584" y2="237"/> │
23:19:40 #13718 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="189" │
23:19:40 #13719 [Debug] > │ x2="584" y2="189"/> │
23:19:40 #13720 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="142" │
23:19:40 #13721 [Debug] > │ x2="584" y2="142"/> │
23:19:40 #13722 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="94" x2="584" │
23:19:40 #13723 [Debug] > │ y2="94"/> │
23:19:40 #13724 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13725 [Debug] > │ points="55,74 584,74 "/> │
23:19:40 #13726 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13727 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13728 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13729 [Debug] > │ 0.0 │
23:19:40 #13730 [Debug] > │ </text> │
23:19:40 #13731 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13732 [Debug] > │ points="69,69 69,74 "/> │
23:19:40 #13733 [Debug] > │ <text x="119" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13734 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13735 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13736 [Debug] > │ 1.0 │
23:19:40 #13737 [Debug] > │ </text> │
23:19:40 #13738 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13739 [Debug] > │ points="119,69 119,74 "/> │
23:19:40 #13740 [Debug] > │ <text x="169" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13741 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13742 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13743 [Debug] > │ 2.0 │
23:19:40 #13744 [Debug] > │ </text> │
23:19:40 #13745 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13746 [Debug] > │ points="169,69 169,74 "/> │
23:19:40 #13747 [Debug] > │ <text x="219" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13748 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13749 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13750 [Debug] > │ 3.0 │
23:19:40 #13751 [Debug] > │ </text> │
23:19:40 #13752 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13753 [Debug] > │ points="219,69 219,74 "/> │
23:19:40 #13754 [Debug] > │ <text x="269" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13755 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13756 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13757 [Debug] > │ 4.0 │
23:19:40 #13758 [Debug] > │ </text> │
23:19:40 #13759 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13760 [Debug] > │ points="269,69 269,74 "/> │
23:19:40 #13761 [Debug] > │ <text x="319" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13762 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13763 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13764 [Debug] > │ 5.0 │
23:19:40 #13765 [Debug] > │ </text> │
23:19:40 #13766 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13767 [Debug] > │ points="319,69 319,74 "/> │
23:19:40 #13768 [Debug] > │ <text x="369" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13769 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13770 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13771 [Debug] > │ 6.0 │
23:19:40 #13772 [Debug] > │ </text> │
23:19:40 #13773 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13774 [Debug] > │ points="369,69 369,74 "/> │
23:19:40 #13775 [Debug] > │ <text x="419" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13776 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13777 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13778 [Debug] > │ 7.0 │
23:19:40 #13779 [Debug] > │ </text> │
23:19:40 #13780 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13781 [Debug] > │ points="419,69 419,74 "/> │
23:19:40 #13782 [Debug] > │ <text x="469" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13783 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13784 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13785 [Debug] > │ 8.0 │
23:19:40 #13786 [Debug] > │ </text> │
23:19:40 #13787 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13788 [Debug] > │ points="469,69 469,74 "/> │
23:19:40 #13789 [Debug] > │ <text x="519" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13790 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13791 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13792 [Debug] > │ 9.0 │
23:19:40 #13793 [Debug] > │ </text> │
23:19:40 #13794 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13795 [Debug] > │ points="519,69 519,74 "/> │
23:19:40 #13796 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:40 #13797 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13798 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13799 [Debug] > │ 10.0 │
23:19:40 #13800 [Debug] > │ </text> │
23:19:40 #13801 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13802 [Debug] > │ points="569,69 569,74 "/> │
23:19:40 #13803 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13804 [Debug] > │ points="54,75 54,424 "/> │
23:19:40 #13805 [Debug] > │ <text x="45" y="380" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13806 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13807 [Debug] > │ 0.0 │
23:19:40 #13808 [Debug] > │ </text> │
23:19:40 #13809 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13810 [Debug] > │ points="49,380 54,380 "/> │
23:19:40 #13811 [Debug] > │ <text x="45" y="332" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13812 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13813 [Debug] > │ 0.0 │
23:19:40 #13814 [Debug] > │ </text> │
23:19:40 #13815 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13816 [Debug] > │ points="49,332 54,332 "/> │
23:19:40 #13817 [Debug] > │ <text x="45" y="285" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13818 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13819 [Debug] > │ 0.0 │
23:19:40 #13820 [Debug] > │ </text> │
23:19:40 #13821 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13822 [Debug] > │ points="49,285 54,285 "/> │
23:19:40 #13823 [Debug] > │ <text x="45" y="237" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13824 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13825 [Debug] > │ 0.0 │
23:19:40 #13826 [Debug] > │ </text> │
23:19:40 #13827 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13828 [Debug] > │ points="49,237 54,237 "/> │
23:19:40 #13829 [Debug] > │ <text x="45" y="189" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13830 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13831 [Debug] > │ 0.0 │
23:19:40 #13832 [Debug] > │ </text> │
23:19:40 #13833 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13834 [Debug] > │ points="49,189 54,189 "/> │
23:19:40 #13835 [Debug] > │ <text x="45" y="142" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13836 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13837 [Debug] > │ 0.0 │
23:19:40 #13838 [Debug] > │ </text> │
23:19:40 #13839 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13840 [Debug] > │ points="49,142 54,142 "/> │
23:19:40 #13841 [Debug] > │ <text x="45" y="94" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:40 #13842 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:40 #13843 [Debug] > │ 0.0 │
23:19:40 #13844 [Debug] > │ </text> │
23:19:40 #13845 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13846 [Debug] > │ points="49,94 54,94 "/> │
23:19:40 #13847 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13848 [Debug] > │ points="55,425 584,425 "/> │
23:19:40 #13849 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13850 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13851 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13852 [Debug] > │ 0.0 │
23:19:40 #13853 [Debug] > │ </text> │
23:19:40 #13854 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13855 [Debug] > │ points="69,425 69,430 "/> │
23:19:40 #13856 [Debug] > │ <text x="119" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13857 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13858 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13859 [Debug] > │ 1.0 │
23:19:40 #13860 [Debug] > │ </text> │
23:19:40 #13861 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13862 [Debug] > │ points="119,425 119,430 "/> │
23:19:40 #13863 [Debug] > │ <text x="169" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13864 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13865 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13866 [Debug] > │ 2.0 │
23:19:40 #13867 [Debug] > │ </text> │
23:19:40 #13868 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13869 [Debug] > │ points="169,425 169,430 "/> │
23:19:40 #13870 [Debug] > │ <text x="219" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13871 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13872 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13873 [Debug] > │ 3.0 │
23:19:40 #13874 [Debug] > │ </text> │
23:19:40 #13875 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13876 [Debug] > │ points="219,425 219,430 "/> │
23:19:40 #13877 [Debug] > │ <text x="269" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13878 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13879 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13880 [Debug] > │ 4.0 │
23:19:40 #13881 [Debug] > │ </text> │
23:19:40 #13882 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13883 [Debug] > │ points="269,425 269,430 "/> │
23:19:40 #13884 [Debug] > │ <text x="319" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13885 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13886 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13887 [Debug] > │ 5.0 │
23:19:40 #13888 [Debug] > │ </text> │
23:19:40 #13889 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13890 [Debug] > │ points="319,425 319,430 "/> │
23:19:40 #13891 [Debug] > │ <text x="369" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13892 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13893 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13894 [Debug] > │ 6.0 │
23:19:40 #13895 [Debug] > │ </text> │
23:19:40 #13896 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13897 [Debug] > │ points="369,425 369,430 "/> │
23:19:40 #13898 [Debug] > │ <text x="419" y="435" dy="0.76em" text-anchor="middle" │
23:19:40 #13899 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:40 #13900 [Debug] > │ fill="#FFFFFF"> │
23:19:40 #13901 [Debug] > │ 7.0 │
23:19:40 #13902 [Debug] > │ </text> │
23:19:40 #13903 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:40 #13904 [Debug] > │ points="419,425 419,430 "/> │
23:19:40 #13905 [Debug] > │ <text x="469" y="435" dy="0.76em" text-anchor="middle" │
23:19:41 #13906 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13907 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13908 [Debug] > │ 8.0 │
23:19:41 #13909 [Debug] > │ </text> │
23:19:41 #13910 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13911 [Debug] > │ points="469,425 469,430 "/> │
23:19:41 #13912 [Debug] > │ <text x="519" y="435" dy="0.76em" text-anchor="middle" │
23:19:41 #13913 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13914 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13915 [Debug] > │ 9.0 │
23:19:41 #13916 [Debug] > │ </text> │
23:19:41 #13917 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13918 [Debug] > │ points="519,425 519,430 "/> │
23:19:41 #13919 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:41 #13920 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13921 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13922 [Debug] > │ 10.0 │
23:19:41 #13923 [Debug] > │ </text> │
23:19:41 #13924 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13925 [Debug] > │ points="569,425 569,430 "/> │
23:19:41 #13926 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13927 [Debug] > │ points="585,75 585,424 "/> │
23:19:41 #13928 [Debug] > │ <text x="595" y="380" dy="0.5ex" text-anchor="start" │
23:19:41 #13929 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13930 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13931 [Debug] > │ 0.0 │
23:19:41 #13932 [Debug] > │ </text> │
23:19:41 #13933 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13934 [Debug] > │ points="585,380 590,380 "/> │
23:19:41 #13935 [Debug] > │ <text x="595" y="332" dy="0.5ex" text-anchor="start" │
23:19:41 #13936 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13937 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13938 [Debug] > │ 0.0 │
23:19:41 #13939 [Debug] > │ </text> │
23:19:41 #13940 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13941 [Debug] > │ points="585,332 590,332 "/> │
23:19:41 #13942 [Debug] > │ <text x="595" y="285" dy="0.5ex" text-anchor="start" │
23:19:41 #13943 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13944 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13945 [Debug] > │ 0.0 │
23:19:41 #13946 [Debug] > │ </text> │
23:19:41 #13947 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13948 [Debug] > │ points="585,285 590,285 "/> │
23:19:41 #13949 [Debug] > │ <text x="595" y="237" dy="0.5ex" text-anchor="start" │
23:19:41 #13950 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13951 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13952 [Debug] > │ 0.0 │
23:19:41 #13953 [Debug] > │ </text> │
23:19:41 #13954 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13955 [Debug] > │ points="585,237 590,237 "/> │
23:19:41 #13956 [Debug] > │ <text x="595" y="189" dy="0.5ex" text-anchor="start" │
23:19:41 #13957 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13958 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13959 [Debug] > │ 0.0 │
23:19:41 #13960 [Debug] > │ </text> │
23:19:41 #13961 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13962 [Debug] > │ points="585,189 590,189 "/> │
23:19:41 #13963 [Debug] > │ <text x="595" y="142" dy="0.5ex" text-anchor="start" │
23:19:41 #13964 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #13965 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #13966 [Debug] > │ 0.0 │
23:19:41 #13967 [Debug] > │ </text> │
23:19:41 #13968 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13969 [Debug] > │ points="585,142 590,142 "/> │
23:19:41 #13970 [Debug] > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │
23:19:41 #13971 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:41 #13972 [Debug] > │ 0.0 │
23:19:41 #13973 [Debug] > │ </text> │
23:19:41 #13974 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:41 #13975 [Debug] > │ points="585,94 590,94 "/> │
23:19:41 #13976 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:41 #13977 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94 │
23:19:41 #13978 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94 │
23:19:41 #13979 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │
23:19:41 #13980 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │
23:19:41 #13981 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │
23:19:41 #13982 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │
23:19:41 #13983 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │
23:19:41 #13984 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │
23:19:41 #13985 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │
23:19:41 #13986 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │
23:19:41 #13987 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │
23:19:41 #13988 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │
23:19:41 #13989 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │
23:19:41 #13990 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │
23:19:41 #13991 [Debug] > │ 302,94 303,94 305,94 306,94 308,243 309,402 311,368 312,185 314,85 315,85 │
23:19:41 #13992 [Debug] > │ 317,85 318,85 320,85 321,85 323,85 324,85 326,85 327,85 329,85 330,85 332,85 │
23:19:41 #13993 [Debug] > │ 333,85 335,85 336,85 338,85 339,85 341,85 342,85 344,85 345,85 347,85 348,85 │
23:19:41 #13994 [Debug] > │ 350,85 351,85 353,85 354,85 356,85 357,85 359,85 360,85 362,85 363,85 365,85 │
23:19:41 #13995 [Debug] > │ 366,85 368,85 369,85 371,85 372,85 374,85 375,85 377,85 378,85 380,85 381,85 │
23:19:41 #13996 [Debug] > │ 383,85 384,85 386,85 387,85 389,85 390,85 392,85 393,85 395,85 396,85 398,85 │
23:19:41 #13997 [Debug] > │ 399,85 401,85 402,85 404,85 405,85 407,85 408,85 410,85 411,85 413,85 414,85 │
23:19:41 #13998 [Debug] > │ 416,85 417,85 419,85 420,85 422,85 423,85 425,85 426,85 428,85 429,85 431,85 │
23:19:41 #13999 [Debug] > │ 432,85 434,85 435,85 437,85 438,85 440,85 441,85 443,85 444,85 446,85 447,85 │
23:19:41 #14000 [Debug] > │ 449,85 450,85 452,85 453,85 455,85 456,85 458,85 459,85 461,85 462,85 464,85 │
23:19:41 #14001 [Debug] > │ 465,85 467,85 468,85 470,85 471,85 473,85 474,85 476,85 477,85 479,85 480,85 │
23:19:41 #14002 [Debug] > │ 482,85 483,85 485,85 486,85 488,85 489,85 491,85 492,85 494,85 495,85 497,85 │
23:19:41 #14003 [Debug] > │ 498,85 500,85 501,85 503,85 504,85 506,85 507,85 509,85 510,85 512,85 513,85 │
23:19:41 #14004 [Debug] > │ 515,85 516,85 518,85 519,85 521,85 522,85 524,85 525,85 527,85 528,85 530,85 │
23:19:41 #14005 [Debug] > │ 531,85 533,85 534,85 536,85 537,85 539,85 540,85 542,85 543,85 545,85 546,85 │
23:19:41 #14006 [Debug] > │ 548,85 549,85 551,85 552,85 554,85 555,85 557,85 558,85 560,85 561,85 563,85 │
23:19:41 #14007 [Debug] > │ 564,85 566,85 567,85 569,85 "/> │
23:19:41 #14008 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:41 #14009 [Debug] > │ points="69,94 71,94 72,94 74,94 75,94 77,94 78,94 80,94 81,94 83,94 84,94 │
23:19:41 #14010 [Debug] > │ 86,94 87,94 89,94 90,94 92,94 93,94 95,94 96,94 98,94 99,94 101,94 102,94 │
23:19:41 #14011 [Debug] > │ 104,94 105,94 107,94 108,94 110,94 111,94 113,94 114,94 116,94 117,94 119,94 │
23:19:41 #14012 [Debug] > │ 120,94 122,94 123,94 125,94 126,94 128,94 129,94 131,94 132,94 134,94 135,94 │
23:19:41 #14013 [Debug] > │ 137,94 138,94 140,94 141,94 143,94 144,94 146,94 147,94 149,94 150,94 152,94 │
23:19:41 #14014 [Debug] > │ 153,94 155,94 156,94 158,94 159,94 161,94 162,94 164,94 165,94 167,94 168,94 │
23:19:41 #14015 [Debug] > │ 170,94 171,94 173,94 174,94 176,94 177,94 179,94 180,94 182,94 183,94 185,94 │
23:19:41 #14016 [Debug] > │ 186,94 188,94 189,94 191,94 192,94 194,94 195,94 197,94 198,94 200,94 201,94 │
23:19:41 #14017 [Debug] > │ 203,94 204,94 206,94 207,94 209,94 210,94 212,94 213,94 215,94 216,94 218,94 │
23:19:41 #14018 [Debug] > │ 219,94 221,94 222,94 224,94 225,94 227,94 228,94 230,94 231,94 233,94 234,94 │
23:19:41 #14019 [Debug] > │ 236,94 237,94 239,94 240,94 242,94 243,94 245,94 246,94 248,94 249,94 251,94 │
23:19:41 #14020 [Debug] > │ 252,94 254,94 255,94 257,94 258,94 260,94 261,94 263,94 264,94 266,94 267,94 │
23:19:41 #14021 [Debug] > │ 269,94 270,94 272,94 273,94 275,94 276,94 278,94 279,94 281,94 282,94 284,94 │
23:19:41 #14022 [Debug] > │ 285,94 287,94 288,94 290,94 291,94 293,94 294,94 296,94 297,94 299,94 300,94 │
23:19:41 #14023 [Debug] > │ 302,94 303,94 305,94 306,157 308,335 309,415 311,298 312,130 314,104 315,104 │
23:19:41 #14024 [Debug] > │ 317,104 318,104 320,104 321,104 323,104 324,104 326,104 327,104 329,104 │
23:19:41 #14025 [Debug] > │ 330,104 332,104 333,104 335,104 336,104 338,104 339,104 341,104 342,104 │
23:19:41 #14026 [Debug] > │ 344,104 345,104 347,104 348,104 350,104 351,104 353,104 354,104 356,104 │
23:19:41 #14027 [Debug] > │ 357,104 359,104 360,104 362,104 363,104 365,104 366,104 368,104 369,104 │
23:19:41 #14028 [Debug] > │ 371,104 372,104 374,104 375,104 377,104 378,104 380,104 381,104 383,104 │
23:19:41 #14029 [Debug] > │ 384,104 386,104 387,104 389,104 390,104 392,104 393,104 395,104 396,104 │
23:19:41 #14030 [Debug] > │ 398,104 399,104 401,104 402,104 404,104 405,104 407,104 408,104 410,104 │
23:19:41 #14031 [Debug] > │ 411,104 413,104 414,104 416,104 417,104 419,104 420,104 422,104 423,104 │
23:19:41 #14032 [Debug] > │ 425,104 426,104 428,104 429,104 431,104 432,104 434,104 435,104 437,104 │
23:19:41 #14033 [Debug] > │ 438,104 440,104 441,104 443,104 444,104 446,104 447,104 449,104 450,104 │
23:19:41 #14034 [Debug] > │ 452,104 453,104 455,104 456,104 458,104 459,104 461,104 462,104 464,104 │
23:19:41 #14035 [Debug] > │ 465,104 467,104 468,104 470,104 471,104 473,104 474,104 476,104 477,104 │
23:19:41 #14036 [Debug] > │ 479,104 480,104 482,104 483,104 485,104 486,104 488,104 489,104 491,104 │
23:19:41 #14037 [Debug] > │ 492,104 494,104 495,104 497,104 498,104 500,104 501,104 503,104 504,104 │
23:19:41 #14038 [Debug] > │ 506,104 507,104 509,104 510,104 512,104 513,104 515,104 516,104 518,104 │
23:19:41 #14039 [Debug] > │ 519,104 521,104 522,104 524,104 525,104 527,104 528,104 530,104 531,104 │
23:19:41 #14040 [Debug] > │ 533,104 534,104 536,104 537,104 539,104 540,104 542,104 543,104 545,104 │
23:19:41 #14041 [Debug] > │ 546,104 548,104 549,104 551,104 552,104 554,104 555,104 557,104 558,104 │
23:19:41 #14042 [Debug] > │ 560,104 561,104 563,104 564,104 566,104 567,104 569,104 "/> │
23:19:41 #14043 [Debug] > │ <rect x="459" y="227" width="121" height="45" opacity="1" fill="none" │
23:19:41 #14044 [Debug] > │ stroke="#FFFFFF"/> │
23:19:41 #14045 [Debug] > │ <text x="499" y="237" dy="0.76em" text-anchor="start" │
23:19:41 #14046 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #14047 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #14048 [Debug] > │ euler-cromer │
23:19:41 #14049 [Debug] > │ </text> │
23:19:41 #14050 [Debug] > │ <text x="499" y="252" dy="0.76em" text-anchor="start" │
23:19:41 #14051 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:41 #14052 [Debug] > │ fill="#FFFFFF"> │
23:19:41 #14053 [Debug] > │ runge-kutta 4 │
23:19:41 #14054 [Debug] > │ </text> │
23:19:41 #14055 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:41 #14056 [Debug] > │ points="469,242 489,242 "/> │
23:19:41 #14057 [Debug] > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │
23:19:41 #14058 [Debug] > │ points="469,257 489,257 "/> │
23:19:41 #14059 [Debug] > │ </svg> │
23:19:41 #14060 [Debug] > │ │
23:19:41 #14061 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:41 #14062 [Debug] >
23:19:41 #14063 [Debug] > ╭─[ 2.88s - stdout ]───────────────────────────────────────────────────────────╮
23:19:41 #14064 [Debug] > │ type [<Struct>] US0 = │
23:19:41 #14065 [Debug] > │ | US0_0 │
23:19:41 #14066 [Debug] > │ | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
23:19:41 #14067 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
23:19:41 #14068 [Debug] > │ and [<Struct>] US1 = │
23:19:41 #14069 [Debug] > │ | US1_0 │
23:19:41 #14070 [Debug] > │ | US1_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
23:19:41 #14071 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
23:19:41 #14072 [Debug] > │ and UH0 = │
23:19:41 #14073 [Debug] > │ | UH0_0 of int32 * US0 * UH0 │
23:19:41 #14074 [Debug] > │ | UH0_1 │
23:19:41 #14075 [Debug] > │ and Mut0 = {mutable l0 : UH0} │
23:19:41 #14076 [Debug] > │ and [<Struct>] US2 = │
23:19:41 #14077 [Debug] > │ | US2_0 │
23:19:41 #14078 [Debug] > │ | US2_1 of f1_0 : int32 * f1_1 : US0 │
23:19:41 #14079 [Debug] > │ and [<Struct>] US3 = │
23:19:41 #14080 [Debug] > │ | US3_0 │
23:19:41 #14081 [Debug] > │ | US3_1 of f1_0 : (struct (float * float * float * float * float * float │
23:19:41 #14082 [Debug] > │ * float * float * float) -> struct (float * float * float)) │
23:19:41 #14083 [Debug] > │ and UH1 = │
23:19:41 #14084 [Debug] > │ | UH1_0 of (struct (float * float * float * float * float * float * │
23:19:41 #14085 [Debug] > │ float * float * float) -> struct (float * float * float)) * UH1 │
23:19:41 #14086 [Debug] > │ | UH1_1 │
23:19:41 #14087 [Debug] > │ and UH2 = │
23:19:41 #14088 [Debug] > │ | UH2_0 of float * float * float * UH2 │
23:19:41 #14089 [Debug] > │ | UH2_1 │
23:19:41 #14090 [Debug] > │ and UH3 = │
23:19:41 #14091 [Debug] > │ | UH3_0 of (int32 -> US0) * UH3 │
23:19:41 #14092 [Debug] > │ | UH3_1 │
23:19:41 #14093 [Debug] > │ and [<Struct>] US4 = │
23:19:41 #14094 [Debug] > │ | US4_0 │
23:19:41 #14095 [Debug] > │ | US4_1 of f1_0 : float * f1_1 : float │
23:19:41 #14096 [Debug] > │ and UH4 = │
23:19:41 #14097 [Debug] > │ | UH4_0 of US4 * UH4 │
23:19:41 #14098 [Debug] > │ | UH4_1 │
23:19:41 #14099 [Debug] > │ and [<Struct>] US5 = │
23:19:41 #14100 [Debug] > │ | US5_0 │
23:19:41 #14101 [Debug] > │ | US5_1 of f1_0 : float │
23:19:41 #14102 [Debug] > │ and UH5 = │
23:19:41 #14103 [Debug] > │ | UH5_0 of float * float * UH5 │
23:19:41 #14104 [Debug] > │ | UH5_1 │
23:19:41 #14105 [Debug] > │ and UH6 = │
23:19:41 #14106 [Debug] > │ | UH6_0 of float * UH6 │
23:19:41 #14107 [Debug] > │ | UH6_1 │
23:19:41 #14108 [Debug] > │ let rec method1 (v0 : int32, v1 : UH0) : US2 = │
23:19:41 #14109 [Debug] > │ match v1 with │
23:19:41 #14110 [Debug] > │ | UH0_0(v3, v4, v5) -> (* Cons *) │
23:19:41 #14111 [Debug] > │ let v6 : bool = v3 = v0 │
23:19:41 #14112 [Debug] > │ if v6 then │
23:19:41 #14113 [Debug] > │ US2_1(v3, v4) │
23:19:41 #14114 [Debug] > │ else │
23:19:41 #14115 [Debug] > │ method1(v0, v5) │
23:19:41 #14116 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:41 #14117 [Debug] > │ US2_0 │
23:19:41 #14118 [Debug] > │ and closure3 (v0 : float, v1 : (int32 -> US0), v2 : (int32 -> US1), v3 : │
23:19:41 #14119 [Debug] > │ Mut0) (v4 : int32) : US0 = │
23:19:41 #14120 [Debug] > │ let v5 : US0 = v1 v4 │
23:19:41 #14121 [Debug] > │ let v6 : UH0 = v3.l0 │
23:19:41 #14122 [Debug] > │ let v7 : US2 = method1(v4, v6) │
23:19:41 #14123 [Debug] > │ let v52 : US0 = │
23:19:41 #14124 [Debug] > │ match v7 with │
23:19:41 #14125 [Debug] > │ | US2_0 -> (* None *) │
23:19:41 #14126 [Debug] > │ let v10 : US1 = v2 v4 │
23:19:41 #14127 [Debug] > │ let v11 : US0 = v1 v4 │
23:19:41 #14128 [Debug] > │ let v48 : US0 = │
23:19:41 #14129 [Debug] > │ match v10 with │
23:19:41 #14130 [Debug] > │ | US1_1(v12, v13, v14, v15, v16, v17, v18, v19, v20) -> (* │
23:19:41 #14131 [Debug] > │ Some *) │
23:19:41 #14132 [Debug] > │ match v11 with │
23:19:41 #14133 [Debug] > │ | US0_1(v21, v22, v23, v24, v25, v26, v27, v28, v29) -> │
23:19:41 #14134 [Debug] > │ (* Some *) │
23:19:41 #14135 [Debug] > │ let v30 : float = v17 * v0 │
23:19:41 #14136 [Debug] > │ let v31 : float = v26 + v30 │
23:19:41 #14137 [Debug] > │ let v32 : float = v0 * v14 │
23:19:41 #14138 [Debug] > │ let v33 : float = v0 * v15 │
23:19:41 #14139 [Debug] > │ let v34 : float = v0 * v16 │
23:19:41 #14140 [Debug] > │ let v35 : float = v23 + v32 │
23:19:41 #14141 [Debug] > │ let v36 : float = v24 + v33 │
23:19:41 #14142 [Debug] > │ let v37 : float = v25 + v34 │
23:19:41 #14143 [Debug] > │ let v38 : float = v0 * v18 │
23:19:41 #14144 [Debug] > │ let v39 : float = v0 * v19 │
23:19:41 #14145 [Debug] > │ let v40 : float = v0 * v20 │
23:19:41 #14146 [Debug] > │ let v41 : float = v27 + v38 │
23:19:41 #14147 [Debug] > │ let v42 : float = v28 + v39 │
23:19:41 #14148 [Debug] > │ let v43 : float = v29 + v40 │
23:19:41 #14149 [Debug] > │ US0_1(v21, v22, v35, v36, v37, v31, v41, v42, v43) │
23:19:41 #14150 [Debug] > │ | _ -> │
23:19:41 #14151 [Debug] > │ US0_0 │
23:19:41 #14152 [Debug] > │ | _ -> │
23:19:41 #14153 [Debug] > │ US0_0 │
23:19:41 #14154 [Debug] > │ let v49 : UH0 = v3.l0 │
23:19:41 #14155 [Debug] > │ let v50 : UH0 = UH0_0(v4, v48, v49) │
23:19:41 #14156 [Debug] > │ v3.l0 <- v50 │
23:19:41 #14157 [Debug] > │ v48 │
23:19:41 #14158 [Debug] > │ | US2_1(v8, v9) -> (* Some *) │
23:19:41 #14159 [Debug] > │ v9 │
23:19:41 #14160 [Debug] > │ match v5 with │
23:19:41 #14161 [Debug] > │ | US0_1(v53, v54, v55, v56, v57, v58, v59, v60, v61) -> (* Some *) │
23:19:41 #14162 [Debug] > │ match v52 with │
23:19:41 #14163 [Debug] > │ | US0_1(v62, v63, v64, v65, v66, v67, v68, v69, v70) -> (* Some *) │
23:19:41 #14164 [Debug] > │ let v71 : float = v0 * v68 │
23:19:41 #14165 [Debug] > │ let v72 : float = v0 * v69 │
23:19:41 #14166 [Debug] > │ let v73 : float = v0 * v70 │
23:19:41 #14167 [Debug] > │ let v74 : float = v55 + v71 │
23:19:41 #14168 [Debug] > │ let v75 : float = v56 + v72 │
23:19:41 #14169 [Debug] > │ let v76 : float = v57 + v73 │
23:19:41 #14170 [Debug] > │ US0_1(v62, v63, v74, v75, v76, v67, v68, v69, v70) │
23:19:41 #14171 [Debug] > │ | _ -> │
23:19:41 #14172 [Debug] > │ US0_0 │
23:19:41 #14173 [Debug] > │ | _ -> │
23:19:41 #14174 [Debug] > │ US0_0 │
23:19:41 #14175 [Debug] > │ and closure2 (v0 : float, v1 : ((int32 -> US0) -> (int32 -> US1))) (v2 : │
23:19:41 #14176 [Debug] > │ (int32 -> US0)) : (int32 -> US0) = │
23:19:41 #14177 [Debug] > │ let v3 : (int32 -> US1) = v1 v2 │
23:19:41 #14178 [Debug] > │ let v4 : UH0 = UH0_1 │
23:19:41 #14179 [Debug] > │ let v5 : Mut0 = {l0 = v4} : Mut0 │
23:19:41 #14180 [Debug] > │ let v6 : (int32 -> US0) = closure3(v0, v2, v3, v5) │
23:19:41 #14181 [Debug] > │ v6 │
23:19:41 #14182 [Debug] > │ and closure1 (v0 : float) (v1 : ((int32 -> US0) -> (int32 -> US1))) : │
23:19:41 #14183 [Debug] > │ ((int32 -> US0) -> (int32 -> US0)) = │
23:19:41 #14184 [Debug] > │ closure2(v0, v1) │
23:19:41 #14185 [Debug] > │ and closure0 () (v0 : float) : (((int32 -> US0) -> (int32 -> US1)) -> │
23:19:41 #14186 [Debug] > │ ((int32 -> US0) -> (int32 -> US0))) = │
23:19:41 #14187 [Debug] > │ closure1(v0) │
23:19:41 #14188 [Debug] > │ and closure6 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
23:19:41 #14189 [Debug] > │ : float, v6 : float, v7 : float, v8 : float) struct (v9 : float, v10 : │
23:19:41 #14190 [Debug] > │ float, v11 : float, v12 : float, v13 : float, v14 : float, v15 : float, v16 │
23:19:41 #14191 [Debug] > │ : float, v17 : float) : struct (float * float * float) = │
23:19:41 #14192 [Debug] > │ let v18 : float = -1.0 * v2 │
23:19:41 #14193 [Debug] > │ let v19 : float = -1.0 * v3 │
23:19:41 #14194 [Debug] > │ let v20 : float = -1.0 * v4 │
23:19:41 #14195 [Debug] > │ let v21 : float = v11 + v18 │
23:19:41 #14196 [Debug] > │ let v22 : float = v12 + v19 │
23:19:41 #14197 [Debug] > │ let v23 : float = v13 + v20 │
23:19:41 #14198 [Debug] > │ let v24 : float = v21 * v21 │
23:19:41 #14199 [Debug] > │ let v25 : float = v22 * v22 │
23:19:41 #14200 [Debug] > │ let v26 : float = v24 + v25 │
23:19:41 #14201 [Debug] > │ let v27 : float = v23 * v23 │
23:19:41 #14202 [Debug] > │ let v28 : float = v26 + v27 │
23:19:41 #14203 [Debug] > │ let v29 : float = sqrt v28 │
23:19:41 #14204 [Debug] > │ let v30 : bool = v29 >= 0.06 │
23:19:41 #14205 [Debug] > │ let v33 : float = │
23:19:41 #14206 [Debug] > │ if v30 then │
23:19:41 #14207 [Debug] > │ 0.0 │
23:19:41 #14208 [Debug] > │ else │
23:19:41 #14209 [Debug] > │ let v31 : float = v29 - 0.06 │
23:19:41 #14210 [Debug] > │ let v32 : float = -30.0 * v31 │
23:19:41 #14211 [Debug] > │ v32 │
23:19:41 #14212 [Debug] > │ let v34 : float = v33 * v21 │
23:19:41 #14213 [Debug] > │ let v35 : float = v33 * v22 │
23:19:41 #14214 [Debug] > │ let v36 : float = v33 * v23 │
23:19:41 #14215 [Debug] > │ let v37 : float = v34 / v29 │
23:19:41 #14216 [Debug] > │ let v38 : float = v35 / v29 │
23:19:41 #14217 [Debug] > │ let v39 : float = v36 / v29 │
23:19:41 #14218 [Debug] > │ struct (v37, v38, v39) │
23:19:41 #14219 [Debug] > │ and closure7 () struct (v0 : float, v1 : float, v2 : float, v3 : float, v4 : │
23:19:41 #14220 [Debug] > │ float, v5 : float, v6 : float, v7 : float, v8 : float) : struct (float * │
23:19:41 #14221 [Debug] > │ float * float) = │
23:19:41 #14222 [Debug] > │ struct (0.0, 0.0, 0.0) │
23:19:41 #14223 [Debug] > │ and method2 (v0 : float, v1 : float, v2 : float, v3 : float, v4 : float, v5 │
23:19:41 #14224 [Debug] > │ : float, v6 : float, v7 : float, v8 : float, v9 : UH1, v10 : UH2) : UH2 = │
23:19:41 #14225 [Debug] > │ match v9 with │
23:19:41 #14226 [Debug] > │ | UH1_0(v11, v12) -> (* Cons *) │
23:19:41 #14227 [Debug] > │ let v13 : UH2 = method2(v0, v1, v2, v3, v4, v5, v6, v7, v8, v12, │
23:19:41 #14228 [Debug] > │ v10) │
23:19:41 #14229 [Debug] > │ let struct (v14 : float, v15 : float, v16 : float) = v11 struct (v0, │
23:19:41 #14230 [Debug] > │ v1, v2, v3, v4, v5, v6, v7, v8) │
23:19:41 #14231 [Debug] > │ UH2_0(v14, v15, v16, v13) │
23:19:41 #14232 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:41 #14233 [Debug] > │ v10 │
23:19:41 #14234 [Debug] > │ and method3 (v0 : UH2, v1 : float, v2 : float, v3 : float) : struct (float * │
23:19:41 #14235 [Debug] > │ float * float) = │
23:19:41 #14236 [Debug] > │ match v0 with │
23:19:41 #14237 [Debug] > │ | UH2_0(v4, v5, v6, v7) -> (* Cons *) │
23:19:41 #14238 [Debug] > │ let v8 : float = v1 + v4 │
23:19:41 #14239 [Debug] > │ let v9 : float = v2 + v5 │
23:19:41 #14240 [Debug] > │ let v10 : float = v3 + v6 │
23:19:41 #14241 [Debug] > │ method3(v7, v8, v9, v10) │
23:19:41 #14242 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:41 #14243 [Debug] > │ struct (v1, v2, v3) │
23:19:41 #14244 [Debug] > │ and closure5 (v0 : (int32 -> US0)) (v1 : int32) : US1 = │
23:19:41 #14245 [Debug] > │ let v2 : US0 = v0 v1 │
23:19:41 #14246 [Debug] > │ let v3 : bool = v1 = 0 │
23:19:41 #14247 [Debug] > │ let v38 : US3 = │
23:19:41 #14248 [Debug] > │ if v3 then │
23:19:41 #14249 [Debug] > │ let v4 : US0 = v0 1 │
23:19:41 #14250 [Debug] > │ match v4 with │
23:19:41 #14251 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14252 [Debug] > │ US3_0 │
23:19:41 #14253 [Debug] > │ | US0_1(v5, v6, v7, v8, v9, v10, v11, v12, v13) -> (* Some *) │
23:19:41 #14254 [Debug] > │ let v14 : (struct (float * float * float * float * float * │
23:19:41 #14255 [Debug] > │ float * float * float * float) -> struct (float * float * float)) = │
23:19:41 #14256 [Debug] > │ closure6(v5, v6, v7, v8, v9, v10, v11, v12, v13) │
23:19:41 #14257 [Debug] > │ US3_1(v14) │
23:19:41 #14258 [Debug] > │ else │
23:19:41 #14259 [Debug] > │ let v19 : bool = v1 = 1 │
23:19:41 #14260 [Debug] > │ if v19 then │
23:19:41 #14261 [Debug] > │ let v20 : US0 = v0 0 │
23:19:41 #14262 [Debug] > │ match v20 with │
23:19:41 #14263 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14264 [Debug] > │ US3_0 │
23:19:41 #14265 [Debug] > │ | US0_1(v21, v22, v23, v24, v25, v26, v27, v28, v29) -> (* │
23:19:41 #14266 [Debug] > │ Some *) │
23:19:41 #14267 [Debug] > │ let v30 : (struct (float * float * float * float * float │
23:19:41 #14268 [Debug] > │ * float * float * float * float) -> struct (float * float * float)) = │
23:19:41 #14269 [Debug] > │ closure6(v21, v22, v23, v24, v25, v26, v27, v28, v29) │
23:19:41 #14270 [Debug] > │ US3_1(v30) │
23:19:41 #14271 [Debug] > │ else │
23:19:41 #14272 [Debug] > │ let v35 : (struct (float * float * float * float * float * │
23:19:41 #14273 [Debug] > │ float * float * float * float) -> struct (float * float * float)) = │
23:19:41 #14274 [Debug] > │ closure7() │
23:19:41 #14275 [Debug] > │ US3_1(v35) │
23:19:41 #14276 [Debug] > │ let v44 : UH1 = │
23:19:41 #14277 [Debug] > │ match v38 with │
23:19:41 #14278 [Debug] > │ | US3_0 -> (* None *) │
23:19:41 #14279 [Debug] > │ UH1_1 │
23:19:41 #14280 [Debug] > │ | US3_1(v39) -> (* Some *) │
23:19:41 #14281 [Debug] > │ let v40 : UH1 = UH1_1 │
23:19:41 #14282 [Debug] > │ UH1_0(v39, v40) │
23:19:41 #14283 [Debug] > │ match v2 with │
23:19:41 #14284 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14285 [Debug] > │ US1_0 │
23:19:41 #14286 [Debug] > │ | US0_1(v45, v46, v47, v48, v49, v50, v51, v52, v53) -> (* Some *) │
23:19:41 #14287 [Debug] > │ let v54 : UH2 = UH2_1 │
23:19:41 #14288 [Debug] > │ let v55 : UH2 = method2(v45, v46, v47, v48, v49, v50, v51, v52, v53, │
23:19:41 #14289 [Debug] > │ v44, v54) │
23:19:41 #14290 [Debug] > │ let v56 : float = 0.0 │
23:19:41 #14291 [Debug] > │ let v57 : float = 0.0 │
23:19:41 #14292 [Debug] > │ let v58 : float = 0.0 │
23:19:41 #14293 [Debug] > │ let struct (v59 : float, v60 : float, v61 : float) = method3(v55, │
23:19:41 #14294 [Debug] > │ v56, v57, v58) │
23:19:41 #14295 [Debug] > │ let v62 : float = v59 / v46 │
23:19:41 #14296 [Debug] > │ let v63 : float = v60 / v46 │
23:19:41 #14297 [Debug] > │ let v64 : float = v61 / v46 │
23:19:41 #14298 [Debug] > │ US1_1(0.0, 0.0, v51, v52, v53, 1.0, v62, v63, v64) │
23:19:41 #14299 [Debug] > │ and closure4 () (v0 : (int32 -> US0)) : (int32 -> US1) = │
23:19:41 #14300 [Debug] > │ let v1 : (int32 -> US1) = closure5(v0) │
23:19:41 #14301 [Debug] > │ v1 │
23:19:41 #14302 [Debug] > │ and closure8 () (v0 : int32) : US0 = │
23:19:41 #14303 [Debug] > │ let v1 : bool = v0 = 0 │
23:19:41 #14304 [Debug] > │ if v1 then │
23:19:41 #14305 [Debug] > │ US0_1(0.0, 0.16, 0.0, 0.0, 0.0, 0.0, 0.2, 0.0, 0.0) │
23:19:41 #14306 [Debug] > │ else │
23:19:41 #14307 [Debug] > │ let v3 : int32 = v0 - 1 │
23:19:41 #14308 [Debug] > │ let v4 : bool = v3 = 0 │
23:19:41 #14309 [Debug] > │ if v4 then │
23:19:41 #14310 [Debug] > │ US0_1(0.0, 0.16, 1.0, 0.02, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:41 #14311 [Debug] > │ else │
23:19:41 #14312 [Debug] > │ let v6 : int32 = v3 - 1 │
23:19:41 #14313 [Debug] > │ US0_0 │
23:19:41 #14314 [Debug] > │ and closure9 (v0 : (int32 -> US0), v1 : Mut0) (v2 : int32) : US0 = │
23:19:41 #14315 [Debug] > │ let v3 : UH0 = v1.l0 │
23:19:41 #14316 [Debug] > │ let v4 : US2 = method1(v2, v3) │
23:19:41 #14317 [Debug] > │ match v4 with │
23:19:41 #14318 [Debug] > │ | US2_0 -> (* None *) │
23:19:41 #14319 [Debug] > │ let v7 : US0 = v0 v2 │
23:19:41 #14320 [Debug] > │ let v8 : UH0 = v1.l0 │
23:19:41 #14321 [Debug] > │ let v9 : UH0 = UH0_0(v2, v7, v8) │
23:19:41 #14322 [Debug] > │ v1.l0 <- v9 │
23:19:41 #14323 [Debug] > │ v7 │
23:19:41 #14324 [Debug] > │ | US2_1(v5, v6) -> (* Some *) │
23:19:41 #14325 [Debug] > │ v6 │
23:19:41 #14326 [Debug] > │ and method5 (v0 : ((int32 -> US0) -> (int32 -> US0)), v1 : (int32 -> US0), │
23:19:41 #14327 [Debug] > │ v2 : int32) : (int32 -> US0) = │
23:19:41 #14328 [Debug] > │ let v3 : bool = v2 <= 0 │
23:19:41 #14329 [Debug] > │ if v3 then │
23:19:41 #14330 [Debug] > │ v1 │
23:19:41 #14331 [Debug] > │ else │
23:19:41 #14332 [Debug] > │ let v4 : UH0 = UH0_1 │
23:19:41 #14333 [Debug] > │ let v5 : Mut0 = {l0 = v4} : Mut0 │
23:19:41 #14334 [Debug] > │ let v6 : (int32 -> US0) = closure9(v1, v5) │
23:19:41 #14335 [Debug] > │ let v7 : (int32 -> US0) = v0 v6 │
23:19:41 #14336 [Debug] > │ let v8 : int32 = v2 - 1 │
23:19:41 #14337 [Debug] > │ method5(v0, v7, v8) │
23:19:41 #14338 [Debug] > │ and method6 (v0 : UH3, v1 : UH3) : UH3 = │
23:19:41 #14339 [Debug] > │ match v0 with │
23:19:41 #14340 [Debug] > │ | UH3_0(v2, v3) -> (* Cons *) │
23:19:41 #14341 [Debug] > │ let v4 : UH3 = UH3_0(v2, v1) │
23:19:41 #14342 [Debug] > │ method6(v3, v4) │
23:19:41 #14343 [Debug] > │ | UH3_1 -> (* Nil *) │
23:19:41 #14344 [Debug] > │ v1 │
23:19:41 #14345 [Debug] > │ and method4 (v0 : ((int32 -> US0) -> (int32 -> US0)), v1 : UH3, v2 : int32) │
23:19:41 #14346 [Debug] > │ : UH3 = │
23:19:41 #14347 [Debug] > │ let v3 : (int32 -> US0) = closure8() │
23:19:41 #14348 [Debug] > │ let v4 : (int32 -> US0) = method5(v0, v3, v2) │
23:19:41 #14349 [Debug] > │ let v5 : US0 = v4 0 │
23:19:41 #14350 [Debug] > │ let v17 : bool = │
23:19:41 #14351 [Debug] > │ match v5 with │
23:19:41 #14352 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14353 [Debug] > │ false │
23:19:41 #14354 [Debug] > │ | US0_1(v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Some *) │
23:19:41 #14355 [Debug] > │ let v15 : bool = v11 <= 10.0 │
23:19:41 #14356 [Debug] > │ v15 │
23:19:41 #14357 [Debug] > │ if v17 then │
23:19:41 #14358 [Debug] > │ let v18 : UH3 = UH3_0(v4, v1) │
23:19:41 #14359 [Debug] > │ let v19 : int32 = v2 + 1 │
23:19:41 #14360 [Debug] > │ method4(v0, v18, v19) │
23:19:41 #14361 [Debug] > │ else │
23:19:41 #14362 [Debug] > │ let v21 : UH3 = UH3_1 │
23:19:41 #14363 [Debug] > │ method6(v1, v21) │
23:19:41 #14364 [Debug] > │ and method8 (v0 : (int32 -> US0), v1 : float, v2 : int32) : float = │
23:19:41 #14365 [Debug] > │ let v3 : US0 = v0 v2 │
23:19:41 #14366 [Debug] > │ let v25 : US5 = │
23:19:41 #14367 [Debug] > │ match v3 with │
23:19:41 #14368 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14369 [Debug] > │ US5_0 │
23:19:41 #14370 [Debug] > │ | US0_1(v4, v5, v6, v7, v8, v9, v10, v11, v12) -> (* Some *) │
23:19:41 #14371 [Debug] > │ let v13 : float = v10 * v10 │
23:19:41 #14372 [Debug] > │ let v14 : float = v11 * v11 │
23:19:41 #14373 [Debug] > │ let v15 : float = v13 + v14 │
23:19:41 #14374 [Debug] > │ let v16 : float = v12 * v12 │
23:19:41 #14375 [Debug] > │ let v17 : float = v15 + v16 │
23:19:41 #14376 [Debug] > │ let v18 : float = sqrt v17 │
23:19:41 #14377 [Debug] > │ let v19 : float = 0.5 * v5 │
23:19:41 #14378 [Debug] > │ let v20 : float = v18 ** 2.0 │
23:19:41 #14379 [Debug] > │ let v21 : float = v19 * v20 │
23:19:41 #14380 [Debug] > │ US5_1(v21) │
23:19:41 #14381 [Debug] > │ match v25 with │
23:19:41 #14382 [Debug] > │ | US5_0 -> (* None *) │
23:19:41 #14383 [Debug] > │ v1 │
23:19:41 #14384 [Debug] > │ | US5_1(v26) -> (* Some *) │
23:19:41 #14385 [Debug] > │ let v27 : float = v1 + v26 │
23:19:41 #14386 [Debug] > │ let v28 : int32 = v2 + 1 │
23:19:41 #14387 [Debug] > │ method8(v0, v27, v28) │
23:19:41 #14388 [Debug] > │ and method7 (v0 : UH3, v1 : UH4) : UH4 = │
23:19:41 #14389 [Debug] > │ match v0 with │
23:19:41 #14390 [Debug] > │ | UH3_0(v2, v3) -> (* Cons *) │
23:19:41 #14391 [Debug] > │ let v4 : UH4 = method7(v3, v1) │
23:19:41 #14392 [Debug] > │ let v5 : US0 = v2 0 │
23:19:41 #14393 [Debug] > │ let v21 : US4 = │
23:19:41 #14394 [Debug] > │ match v5 with │
23:19:41 #14395 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14396 [Debug] > │ US4_0 │
23:19:41 #14397 [Debug] > │ | US0_1(v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Some *) │
23:19:41 #14398 [Debug] > │ let v15 : float = 0.0 │
23:19:41 #14399 [Debug] > │ let v16 : int32 = 0 │
23:19:41 #14400 [Debug] > │ let v17 : float = method8(v2, v15, v16) │
23:19:41 #14401 [Debug] > │ US4_1(v11, v17) │
23:19:41 #14402 [Debug] > │ UH4_0(v21, v4) │
23:19:41 #14403 [Debug] > │ | UH3_1 -> (* Nil *) │
23:19:41 #14404 [Debug] > │ v1 │
23:19:41 #14405 [Debug] > │ and method9 (v0 : UH4, v1 : UH5) : UH5 = │
23:19:41 #14406 [Debug] > │ match v0 with │
23:19:41 #14407 [Debug] > │ | UH4_0(v2, v3) -> (* Cons *) │
23:19:41 #14408 [Debug] > │ let v4 : UH5 = method9(v3, v1) │
23:19:41 #14409 [Debug] > │ match v2 with │
23:19:41 #14410 [Debug] > │ | US4_0 -> (* None *) │
23:19:41 #14411 [Debug] > │ v4 │
23:19:41 #14412 [Debug] > │ | US4_1(v5, v6) -> (* Some *) │
23:19:41 #14413 [Debug] > │ UH5_0(v5, v6, v4) │
23:19:41 #14414 [Debug] > │ | UH4_1 -> (* Nil *) │
23:19:41 #14415 [Debug] > │ v1 │
23:19:41 #14416 [Debug] > │ and method10 (v0 : UH5, v1 : UH6, v2 : UH6) : struct (UH6 * UH6) = │
23:19:41 #14417 [Debug] > │ match v0 with │
23:19:41 #14418 [Debug] > │ | UH5_0(v3, v4, v5) -> (* Cons *) │
23:19:41 #14419 [Debug] > │ let v6 : UH6 = UH6_0(v3, v1) │
23:19:41 #14420 [Debug] > │ let v7 : UH6 = UH6_0(v4, v2) │
23:19:41 #14421 [Debug] > │ method10(v5, v6, v7) │
23:19:41 #14422 [Debug] > │ | UH5_1 -> (* Nil *) │
23:19:41 #14423 [Debug] > │ struct (v1, v2) │
23:19:41 #14424 [Debug] > │ and method11 (v0 : UH6, v1 : UH6) : UH6 = │
23:19:41 #14425 [Debug] > │ match v0 with │
23:19:41 #14426 [Debug] > │ | UH6_0(v2, v3) -> (* Cons *) │
23:19:41 #14427 [Debug] > │ let v4 : UH6 = UH6_0(v2, v1) │
23:19:41 #14428 [Debug] > │ method11(v3, v4) │
23:19:41 #14429 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:41 #14430 [Debug] > │ v1 │
23:19:41 #14431 [Debug] > │ and closure13 (v0 : float, v1 : (int32 -> US1), v2 : (int32 -> US0), v3 : │
23:19:41 #14432 [Debug] > │ Mut0) (v4 : int32) : US0 = │
23:19:41 #14433 [Debug] > │ let v5 : UH0 = v3.l0 │
23:19:41 #14434 [Debug] > │ let v6 : US2 = method1(v4, v5) │
23:19:41 #14435 [Debug] > │ match v6 with │
23:19:41 #14436 [Debug] > │ | US2_0 -> (* None *) │
23:19:41 #14437 [Debug] > │ let v9 : US1 = v1 v4 │
23:19:41 #14438 [Debug] > │ let v10 : US0 = v2 v4 │
23:19:41 #14439 [Debug] > │ let v47 : US0 = │
23:19:41 #14440 [Debug] > │ match v9 with │
23:19:41 #14441 [Debug] > │ | US1_1(v11, v12, v13, v14, v15, v16, v17, v18, v19) -> (* Some │
23:19:41 #14442 [Debug] > │ *) │
23:19:41 #14443 [Debug] > │ match v10 with │
23:19:41 #14444 [Debug] > │ | US0_1(v20, v21, v22, v23, v24, v25, v26, v27, v28) -> (* │
23:19:41 #14445 [Debug] > │ Some *) │
23:19:41 #14446 [Debug] > │ let v29 : float = v16 * v0 │
23:19:41 #14447 [Debug] > │ let v30 : float = v25 + v29 │
23:19:41 #14448 [Debug] > │ let v31 : float = v0 * v13 │
23:19:41 #14449 [Debug] > │ let v32 : float = v0 * v14 │
23:19:41 #14450 [Debug] > │ let v33 : float = v0 * v15 │
23:19:41 #14451 [Debug] > │ let v34 : float = v22 + v31 │
23:19:41 #14452 [Debug] > │ let v35 : float = v23 + v32 │
23:19:41 #14453 [Debug] > │ let v36 : float = v24 + v33 │
23:19:41 #14454 [Debug] > │ let v37 : float = v0 * v17 │
23:19:41 #14455 [Debug] > │ let v38 : float = v0 * v18 │
23:19:41 #14456 [Debug] > │ let v39 : float = v0 * v19 │
23:19:41 #14457 [Debug] > │ let v40 : float = v26 + v37 │
23:19:41 #14458 [Debug] > │ let v41 : float = v27 + v38 │
23:19:41 #14459 [Debug] > │ let v42 : float = v28 + v39 │
23:19:41 #14460 [Debug] > │ US0_1(v20, v21, v34, v35, v36, v30, v40, v41, v42) │
23:19:41 #14461 [Debug] > │ | _ -> │
23:19:41 #14462 [Debug] > │ US0_0 │
23:19:41 #14463 [Debug] > │ | _ -> │
23:19:41 #14464 [Debug] > │ US0_0 │
23:19:41 #14465 [Debug] > │ let v48 : UH0 = v3.l0 │
23:19:41 #14466 [Debug] > │ let v49 : UH0 = UH0_0(v4, v47, v48) │
23:19:41 #14467 [Debug] > │ v3.l0 <- v49 │
23:19:41 #14468 [Debug] > │ v47 │
23:19:41 #14469 [Debug] > │ | US2_1(v7, v8) -> (* Some *) │
23:19:41 #14470 [Debug] > │ v8 │
23:19:41 #14471 [Debug] > │ and closure14 (v0 : float, v1 : (int32 -> US1), v2 : (int32 -> US1), v3 : │
23:19:41 #14472 [Debug] > │ (int32 -> US1), v4 : (int32 -> US1), v5 : (int32 -> US0), v6 : Mut0) (v7 : │
23:19:41 #14473 [Debug] > │ int32) : US0 = │
23:19:41 #14474 [Debug] > │ let v8 : UH0 = v6.l0 │
23:19:41 #14475 [Debug] > │ let v9 : US2 = method1(v7, v8) │
23:19:41 #14476 [Debug] > │ match v9 with │
23:19:41 #14477 [Debug] > │ | US2_0 -> (* None *) │
23:19:41 #14478 [Debug] > │ let v12 : US1 = v1 v7 │
23:19:41 #14479 [Debug] > │ let v13 : US1 = v2 v7 │
23:19:41 #14480 [Debug] > │ let v45 : US1 = │
23:19:41 #14481 [Debug] > │ match v12 with │
23:19:41 #14482 [Debug] > │ | US1_1(v14, v15, v16, v17, v18, v19, v20, v21, v22) -> (* Some │
23:19:41 #14483 [Debug] > │ *) │
23:19:41 #14484 [Debug] > │ match v13 with │
23:19:41 #14485 [Debug] > │ | US1_1(v23, v24, v25, v26, v27, v28, v29, v30, v31) -> (* │
23:19:41 #14486 [Debug] > │ Some *) │
23:19:41 #14487 [Debug] > │ let v32 : float = v14 + v23 │
23:19:41 #14488 [Debug] > │ let v33 : float = v15 + v24 │
23:19:41 #14489 [Debug] > │ let v34 : float = v19 + v28 │
23:19:41 #14490 [Debug] > │ let v35 : float = v16 + v25 │
23:19:41 #14491 [Debug] > │ let v36 : float = v17 + v26 │
23:19:41 #14492 [Debug] > │ let v37 : float = v18 + v27 │
23:19:41 #14493 [Debug] > │ let v38 : float = v20 + v29 │
23:19:41 #14494 [Debug] > │ let v39 : float = v21 + v30 │
23:19:41 #14495 [Debug] > │ let v40 : float = v22 + v31 │
23:19:41 #14496 [Debug] > │ US1_1(v32, v33, v35, v36, v37, v34, v38, v39, v40) │
23:19:41 #14497 [Debug] > │ | _ -> │
23:19:41 #14498 [Debug] > │ US1_0 │
23:19:41 #14499 [Debug] > │ | _ -> │
23:19:41 #14500 [Debug] > │ US1_0 │
23:19:41 #14501 [Debug] > │ let v46 : US1 = v2 v7 │
23:19:41 #14502 [Debug] > │ let v78 : US1 = │
23:19:41 #14503 [Debug] > │ match v45 with │
23:19:41 #14504 [Debug] > │ | US1_1(v47, v48, v49, v50, v51, v52, v53, v54, v55) -> (* Some │
23:19:41 #14505 [Debug] > │ *) │
23:19:41 #14506 [Debug] > │ match v46 with │
23:19:41 #14507 [Debug] > │ | US1_1(v56, v57, v58, v59, v60, v61, v62, v63, v64) -> (* │
23:19:41 #14508 [Debug] > │ Some *) │
23:19:41 #14509 [Debug] > │ let v65 : float = v47 + v56 │
23:19:41 #14510 [Debug] > │ let v66 : float = v48 + v57 │
23:19:41 #14511 [Debug] > │ let v67 : float = v52 + v61 │
23:19:41 #14512 [Debug] > │ let v68 : float = v49 + v58 │
23:19:41 #14513 [Debug] > │ let v69 : float = v50 + v59 │
23:19:41 #14514 [Debug] > │ let v70 : float = v51 + v60 │
23:19:41 #14515 [Debug] > │ let v71 : float = v53 + v62 │
23:19:41 #14516 [Debug] > │ let v72 : float = v54 + v63 │
23:19:41 #14517 [Debug] > │ let v73 : float = v55 + v64 │
23:19:41 #14518 [Debug] > │ US1_1(v65, v66, v68, v69, v70, v67, v71, v72, v73) │
23:19:41 #14519 [Debug] > │ | _ -> │
23:19:41 #14520 [Debug] > │ US1_0 │
23:19:41 #14521 [Debug] > │ | _ -> │
23:19:41 #14522 [Debug] > │ US1_0 │
23:19:41 #14523 [Debug] > │ let v79 : US1 = v3 v7 │
23:19:41 #14524 [Debug] > │ let v111 : US1 = │
23:19:41 #14525 [Debug] > │ match v78 with │
23:19:41 #14526 [Debug] > │ | US1_1(v80, v81, v82, v83, v84, v85, v86, v87, v88) -> (* Some │
23:19:41 #14527 [Debug] > │ *) │
23:19:41 #14528 [Debug] > │ match v79 with │
23:19:41 #14529 [Debug] > │ | US1_1(v89, v90, v91, v92, v93, v94, v95, v96, v97) -> (* │
23:19:41 #14530 [Debug] > │ Some *) │
23:19:41 #14531 [Debug] > │ let v98 : float = v80 + v89 │
23:19:41 #14532 [Debug] > │ let v99 : float = v81 + v90 │
23:19:41 #14533 [Debug] > │ let v100 : float = v85 + v94 │
23:19:41 #14534 [Debug] > │ let v101 : float = v82 + v91 │
23:19:41 #14535 [Debug] > │ let v102 : float = v83 + v92 │
23:19:41 #14536 [Debug] > │ let v103 : float = v84 + v93 │
23:19:41 #14537 [Debug] > │ let v104 : float = v86 + v95 │
23:19:41 #14538 [Debug] > │ let v105 : float = v87 + v96 │
23:19:41 #14539 [Debug] > │ let v106 : float = v88 + v97 │
23:19:41 #14540 [Debug] > │ US1_1(v98, v99, v101, v102, v103, v100, v104, v105, │
23:19:41 #14541 [Debug] > │ v106) │
23:19:41 #14542 [Debug] > │ | _ -> │
23:19:41 #14543 [Debug] > │ US1_0 │
23:19:41 #14544 [Debug] > │ | _ -> │
23:19:41 #14545 [Debug] > │ US1_0 │
23:19:41 #14546 [Debug] > │ let v112 : US1 = v3 v7 │
23:19:41 #14547 [Debug] > │ let v144 : US1 = │
23:19:41 #14548 [Debug] > │ match v111 with │
23:19:41 #14549 [Debug] > │ | US1_1(v113, v114, v115, v116, v117, v118, v119, v120, v121) -> │
23:19:41 #14550 [Debug] > │ (* Some *) │
23:19:41 #14551 [Debug] > │ match v112 with │
23:19:41 #14552 [Debug] > │ | US1_1(v122, v123, v124, v125, v126, v127, v128, v129, │
23:19:41 #14553 [Debug] > │ v130) -> (* Some *) │
23:19:41 #14554 [Debug] > │ let v131 : float = v113 + v122 │
23:19:41 #14555 [Debug] > │ let v132 : float = v114 + v123 │
23:19:41 #14556 [Debug] > │ let v133 : float = v118 + v127 │
23:19:41 #14557 [Debug] > │ let v134 : float = v115 + v124 │
23:19:41 #14558 [Debug] > │ let v135 : float = v116 + v125 │
23:19:41 #14559 [Debug] > │ let v136 : float = v117 + v126 │
23:19:41 #14560 [Debug] > │ let v137 : float = v119 + v128 │
23:19:41 #14561 [Debug] > │ let v138 : float = v120 + v129 │
23:19:41 #14562 [Debug] > │ let v139 : float = v121 + v130 │
23:19:41 #14563 [Debug] > │ US1_1(v131, v132, v134, v135, v136, v133, v137, v138, │
23:19:41 #14564 [Debug] > │ v139) │
23:19:41 #14565 [Debug] > │ | _ -> │
23:19:41 #14566 [Debug] > │ US1_0 │
23:19:41 #14567 [Debug] > │ | _ -> │
23:19:41 #14568 [Debug] > │ US1_0 │
23:19:41 #14569 [Debug] > │ let v145 : US1 = v4 v7 │
23:19:41 #14570 [Debug] > │ let v177 : US1 = │
23:19:41 #14571 [Debug] > │ match v144 with │
23:19:41 #14572 [Debug] > │ | US1_1(v146, v147, v148, v149, v150, v151, v152, v153, v154) -> │
23:19:41 #14573 [Debug] > │ (* Some *) │
23:19:41 #14574 [Debug] > │ match v145 with │
23:19:41 #14575 [Debug] > │ | US1_1(v155, v156, v157, v158, v159, v160, v161, v162, │
23:19:41 #14576 [Debug] > │ v163) -> (* Some *) │
23:19:41 #14577 [Debug] > │ let v164 : float = v146 + v155 │
23:19:41 #14578 [Debug] > │ let v165 : float = v147 + v156 │
23:19:41 #14579 [Debug] > │ let v166 : float = v151 + v160 │
23:19:41 #14580 [Debug] > │ let v167 : float = v148 + v157 │
23:19:41 #14581 [Debug] > │ let v168 : float = v149 + v158 │
23:19:41 #14582 [Debug] > │ let v169 : float = v150 + v159 │
23:19:41 #14583 [Debug] > │ let v170 : float = v152 + v161 │
23:19:41 #14584 [Debug] > │ let v171 : float = v153 + v162 │
23:19:41 #14585 [Debug] > │ let v172 : float = v154 + v163 │
23:19:41 #14586 [Debug] > │ US1_1(v164, v165, v167, v168, v169, v166, v170, v171, │
23:19:41 #14587 [Debug] > │ v172) │
23:19:41 #14588 [Debug] > │ | _ -> │
23:19:41 #14589 [Debug] > │ US1_0 │
23:19:41 #14590 [Debug] > │ | _ -> │
23:19:41 #14591 [Debug] > │ US1_0 │
23:19:41 #14592 [Debug] > │ let v178 : US0 = v5 v7 │
23:19:41 #14593 [Debug] > │ let v215 : US0 = │
23:19:41 #14594 [Debug] > │ match v177 with │
23:19:41 #14595 [Debug] > │ | US1_1(v179, v180, v181, v182, v183, v184, v185, v186, v187) -> │
23:19:41 #14596 [Debug] > │ (* Some *) │
23:19:41 #14597 [Debug] > │ match v178 with │
23:19:41 #14598 [Debug] > │ | US0_1(v188, v189, v190, v191, v192, v193, v194, v195, │
23:19:41 #14599 [Debug] > │ v196) -> (* Some *) │
23:19:41 #14600 [Debug] > │ let v197 : float = v184 * v0 │
23:19:41 #14601 [Debug] > │ let v198 : float = v193 + v197 │
23:19:41 #14602 [Debug] > │ let v199 : float = v0 * v181 │
23:19:41 #14603 [Debug] > │ let v200 : float = v0 * v182 │
23:19:41 #14604 [Debug] > │ let v201 : float = v0 * v183 │
23:19:41 #14605 [Debug] > │ let v202 : float = v190 + v199 │
23:19:41 #14606 [Debug] > │ let v203 : float = v191 + v200 │
23:19:41 #14607 [Debug] > │ let v204 : float = v192 + v201 │
23:19:41 #14608 [Debug] > │ let v205 : float = v0 * v185 │
23:19:41 #14609 [Debug] > │ let v206 : float = v0 * v186 │
23:19:41 #14610 [Debug] > │ let v207 : float = v0 * v187 │
23:19:41 #14611 [Debug] > │ let v208 : float = v194 + v205 │
23:19:41 #14612 [Debug] > │ let v209 : float = v195 + v206 │
23:19:41 #14613 [Debug] > │ let v210 : float = v196 + v207 │
23:19:41 #14614 [Debug] > │ US0_1(v188, v189, v202, v203, v204, v198, v208, v209, │
23:19:41 #14615 [Debug] > │ v210) │
23:19:41 #14616 [Debug] > │ | _ -> │
23:19:41 #14617 [Debug] > │ US0_0 │
23:19:41 #14618 [Debug] > │ | _ -> │
23:19:41 #14619 [Debug] > │ US0_0 │
23:19:41 #14620 [Debug] > │ let v216 : UH0 = v6.l0 │
23:19:41 #14621 [Debug] > │ let v217 : UH0 = UH0_0(v7, v215, v216) │
23:19:41 #14622 [Debug] > │ v6.l0 <- v217 │
23:19:41 #14623 [Debug] > │ v215 │
23:19:41 #14624 [Debug] > │ | US2_1(v10, v11) -> (* Some *) │
23:19:41 #14625 [Debug] > │ v11 │
23:19:41 #14626 [Debug] > │ and closure12 (v0 : float, v1 : ((int32 -> US0) -> (int32 -> US1))) (v2 : │
23:19:41 #14627 [Debug] > │ (int32 -> US0)) : (int32 -> US0) = │
23:19:41 #14628 [Debug] > │ let v3 : (int32 -> US1) = v1 v2 │
23:19:41 #14629 [Debug] > │ let v4 : float = v0 / 2.0 │
23:19:41 #14630 [Debug] > │ let v5 : UH0 = UH0_1 │
23:19:41 #14631 [Debug] > │ let v6 : Mut0 = {l0 = v5} : Mut0 │
23:19:41 #14632 [Debug] > │ let v7 : (int32 -> US0) = closure13(v4, v3, v2, v6) │
23:19:41 #14633 [Debug] > │ let v8 : (int32 -> US1) = v1 v7 │
23:19:41 #14634 [Debug] > │ let v9 : UH0 = UH0_1 │
23:19:41 #14635 [Debug] > │ let v10 : Mut0 = {l0 = v9} : Mut0 │
23:19:41 #14636 [Debug] > │ let v11 : (int32 -> US0) = closure13(v4, v8, v2, v10) │
23:19:41 #14637 [Debug] > │ let v12 : (int32 -> US1) = v1 v11 │
23:19:41 #14638 [Debug] > │ let v13 : UH0 = UH0_1 │
23:19:41 #14639 [Debug] > │ let v14 : Mut0 = {l0 = v13} : Mut0 │
23:19:41 #14640 [Debug] > │ let v15 : (int32 -> US0) = closure13(v0, v12, v2, v14) │
23:19:41 #14641 [Debug] > │ let v16 : (int32 -> US1) = v1 v15 │
23:19:41 #14642 [Debug] > │ let v17 : float = v0 / 6.0 │
23:19:41 #14643 [Debug] > │ let v18 : UH0 = UH0_1 │
23:19:41 #14644 [Debug] > │ let v19 : Mut0 = {l0 = v18} : Mut0 │
23:19:41 #14645 [Debug] > │ let v20 : (int32 -> US0) = closure14(v17, v3, v8, v12, v16, v2, v19) │
23:19:41 #14646 [Debug] > │ v20 │
23:19:41 #14647 [Debug] > │ and closure11 (v0 : float) (v1 : ((int32 -> US0) -> (int32 -> US1))) : │
23:19:41 #14648 [Debug] > │ ((int32 -> US0) -> (int32 -> US0)) = │
23:19:41 #14649 [Debug] > │ closure12(v0, v1) │
23:19:41 #14650 [Debug] > │ and closure10 () (v0 : float) : (((int32 -> US0) -> (int32 -> US1)) -> │
23:19:41 #14651 [Debug] > │ ((int32 -> US0) -> (int32 -> US0))) = │
23:19:41 #14652 [Debug] > │ closure11(v0) │
23:19:41 #14653 [Debug] > │ and method12 (v0 : UH3, v1 : UH4) : UH4 = │
23:19:41 #14654 [Debug] > │ match v0 with │
23:19:41 #14655 [Debug] > │ | UH3_0(v2, v3) -> (* Cons *) │
23:19:41 #14656 [Debug] > │ let v4 : UH4 = method12(v3, v1) │
23:19:41 #14657 [Debug] > │ let v5 : US0 = v2 0 │
23:19:41 #14658 [Debug] > │ let v21 : US4 = │
23:19:41 #14659 [Debug] > │ match v5 with │
23:19:41 #14660 [Debug] > │ | US0_0 -> (* None *) │
23:19:41 #14661 [Debug] > │ US4_0 │
23:19:41 #14662 [Debug] > │ | US0_1(v6, v7, v8, v9, v10, v11, v12, v13, v14) -> (* Some *) │
23:19:41 #14663 [Debug] > │ let v15 : float = 0.0 │
23:19:41 #14664 [Debug] > │ let v16 : int32 = 0 │
23:19:41 #14665 [Debug] > │ let v17 : float = method8(v2, v15, v16) │
23:19:41 #14666 [Debug] > │ US4_1(v11, v17) │
23:19:41 #14667 [Debug] > │ UH4_0(v21, v4) │
23:19:41 #14668 [Debug] > │ | UH3_1 -> (* Nil *) │
23:19:41 #14669 [Debug] > │ v1 │
23:19:41 #14670 [Debug] > │ and method14 (v0 : UH6, v1 : int32) : int32 = │
23:19:41 #14671 [Debug] > │ match v0 with │
23:19:41 #14672 [Debug] > │ | UH6_0(v2, v3) -> (* Cons *) │
23:19:41 #14673 [Debug] > │ let v4 : int32 = v1 + 1 │
23:19:41 #14674 [Debug] > │ method14(v3, v4) │
23:19:41 #14675 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:41 #14676 [Debug] > │ v1 │
23:19:41 #14677 [Debug] > │ and method15 (v0 : (float []), v1 : UH6, v2 : int32) : int32 = │
23:19:41 #14678 [Debug] > │ match v1 with │
23:19:41 #14679 [Debug] > │ | UH6_0(v3, v4) -> (* Cons *) │
23:19:41 #14680 [Debug] > │ v0.[int v2] <- v3 │
23:19:41 #14681 [Debug] > │ let v5 : int32 = v2 + 1 │
23:19:41 #14682 [Debug] > │ method15(v0, v4, v5) │
23:19:41 #14683 [Debug] > │ | UH6_1 -> (* Nil *) │
23:19:41 #14684 [Debug] > │ v2 │
23:19:41 #14685 [Debug] > │ and method13 (v0 : UH6) : (float []) = │
23:19:41 #14686 [Debug] > │ let v1 : int32 = 0 │
23:19:41 #14687 [Debug] > │ let v2 : int32 = method14(v0, v1) │
23:19:41 #14688 [Debug] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
23:19:41 #14689 [Debug] > │ let v4 : int32 = 0 │
23:19:41 #14690 [Debug] > │ let v5 : int32 = method15(v3, v0, v4) │
23:19:41 #14691 [Debug] > │ v3 │
23:19:41 #14692 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:41 #14693 [Debug] > │ []) * (float [])) [])) = │
23:19:41 #14694 [Debug] > │ let v0 : (float -> (((int32 -> US0) -> (int32 -> US1)) -> ((int32 -> │
23:19:41 #14695 [Debug] > │ US0) -> (int32 -> US0)))) = closure0() │
23:19:41 #14696 [Debug] > │ let v1 : (((int32 -> US0) -> (int32 -> US1)) -> ((int32 -> US0) -> │
23:19:41 #14697 [Debug] > │ (int32 -> US0))) = v0 0.03 │
23:19:41 #14698 [Debug] > │ let v2 : ((int32 -> US0) -> (int32 -> US1)) = closure4() │
23:19:41 #14699 [Debug] > │ let v3 : ((int32 -> US0) -> (int32 -> US0)) = v1 v2 │
23:19:41 #14700 [Debug] > │ let v4 : UH3 = UH3_1 │
23:19:41 #14701 [Debug] > │ let v5 : int32 = 0 │
23:19:41 #14702 [Debug] > │ let v6 : UH3 = method4(v3, v4, v5) │
23:19:41 #14703 [Debug] > │ let v7 : UH4 = UH4_1 │
23:19:41 #14704 [Debug] > │ let v8 : UH4 = method7(v6, v7) │
23:19:41 #14705 [Debug] > │ let v9 : UH5 = UH5_1 │
23:19:41 #14706 [Debug] > │ let v10 : UH5 = method9(v8, v9) │
23:19:41 #14707 [Debug] > │ let v11 : UH6 = UH6_1 │
23:19:41 #14708 [Debug] > │ let v12 : UH6 = UH6_1 │
23:19:41 #14709 [Debug] > │ let struct (v13 : UH6, v14 : UH6) = method10(v10, v11, v12) │
23:19:41 #14710 [Debug] > │ let v15 : UH6 = UH6_1 │
23:19:41 #14711 [Debug] > │ let v16 : UH6 = method11(v13, v15) │
23:19:41 #14712 [Debug] > │ let v17 : UH6 = UH6_1 │
23:19:41 #14713 [Debug] > │ let v18 : UH6 = method11(v14, v17) │
23:19:41 #14714 [Debug] > │ let v19 : (float -> (((int32 -> US0) -> (int32 -> US1)) -> ((int32 -> │
23:19:41 #14715 [Debug] > │ US0) -> (int32 -> US0)))) = closure10() │
23:19:41 #14716 [Debug] > │ let v20 : (((int32 -> US0) -> (int32 -> US1)) -> ((int32 -> US0) -> │
23:19:41 #14717 [Debug] > │ (int32 -> US0))) = v19 0.03 │
23:19:41 #14718 [Debug] > │ let v21 : ((int32 -> US0) -> (int32 -> US0)) = v20 v2 │
23:19:41 #14719 [Debug] > │ let v22 : UH3 = UH3_1 │
23:19:41 #14720 [Debug] > │ let v23 : int32 = 0 │
23:19:41 #14721 [Debug] > │ let v24 : UH3 = method4(v21, v22, v23) │
23:19:41 #14722 [Debug] > │ let v25 : UH4 = UH4_1 │
23:19:41 #14723 [Debug] > │ let v26 : UH4 = method12(v24, v25) │
23:19:41 #14724 [Debug] > │ let v27 : UH5 = UH5_1 │
23:19:41 #14725 [Debug] > │ let v28 : UH5 = method9(v26, v27) │
23:19:41 #14726 [Debug] > │ let v29 : UH6 = UH6_1 │
23:19:41 #14727 [Debug] > │ let v30 : UH6 = UH6_1 │
23:19:41 #14728 [Debug] > │ let struct (v31 : UH6, v32 : UH6) = method10(v28, v29, v30) │
23:19:41 #14729 [Debug] > │ let v33 : UH6 = UH6_1 │
23:19:41 #14730 [Debug] > │ let v34 : UH6 = method11(v31, v33) │
23:19:41 #14731 [Debug] > │ let v35 : UH6 = UH6_1 │
23:19:41 #14732 [Debug] > │ let v36 : UH6 = method11(v32, v35) │
23:19:41 #14733 [Debug] > │ let v37 : (float []) = method13(v16) │
23:19:41 #14734 [Debug] > │ let v38 : (float []) = method13(v18) │
23:19:41 #14735 [Debug] > │ let v39 : (float []) = method13(v34) │
23:19:41 #14736 [Debug] > │ let v40 : (float []) = method13(v36) │
23:19:41 #14737 [Debug] > │ let v41 : string = "euler-cromer" │
23:19:41 #14738 [Debug] > │ let v42 : string = "runge-kutta 4" │
23:19:41 #14739 [Debug] > │ let v43 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:41 #14740 [Debug] > │ (v41, v37, v38); struct (v42, v39, v40)|] │
23:19:41 #14741 [Debug] > │ let v44 : string = "system kinetic energy versus time" │
23:19:41 #14742 [Debug] > │ let v45 : string = "time (s)" │
23:19:41 #14743 [Debug] > │ let v46 : string = "system kinetic energy (j)" │
23:19:41 #14744 [Debug] > │ struct (v44, v45, v46, v43) │
23:19:41 #14745 [Debug] > │ method0() │
23:19:41 #14746 [Debug] > │ │
23:19:41 #14747 [Debug] > │ │
23:19:41 #14748 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:41 #14749 [Debug] >
23:19:41 #14750 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:41 #14751 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:41 #14752 [Debug] > │ ### wave 2 │
23:19:41 #14753 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:41 #14754 [Debug] >
23:19:41 #14755 [Debug] > ── spiral ──────────────────────────────────────────────────────────────────────
23:19:41 #14756 [Debug] > // // test
23:19:41 #14757 [Debug] >
23:19:41 #14758 [Debug] > inl linear_spring k re (particle_state st1) (particle_state st2) =
23:19:41 #14759 [Debug] > inl r1 = st1.pos_vec
23:19:41 #14760 [Debug] > inl r2 = st2.pos_vec
23:19:41 #14761 [Debug] > inl r21 = r2 ^-^ r1
23:19:41 #14762 [Debug] > inl r21mag = magnitude r21
23:19:41 #14763 [Debug] > -k * (r21mag - re) *^ r21 ^/ r21mag
23:19:41 #14764 [Debug] >
23:19:41 #14765 [Debug] > inl fixed_linear_spring k re r1 =
23:19:41 #14766 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:41 #14767 [Debug] > linear_spring k re (particle_state { default_particle_state' with pos_vec =
23:19:41 #14768 [Debug] > r1 })
23:19:41 #14769 [Debug] >
23:19:41 #14770 [Debug] > inl forces_string () =
23:19:41 #14771 [Debug] > [[
23:19:41 #14772 [Debug] > ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ()))
23:19:41 #14773 [Debug] > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ()))
23:19:41 #14774 [Debug] > ]] /@ (
23:19:41 #14775 [Debug] > listm'.init_series 0 59 1
23:19:41 #14776 [Debug] > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0))
23:19:41 #14777 [Debug] > )
23:19:41 #14778 [Debug] >
23:19:41 #14779 [Debug] > inl string_update dt =
23:19:41 #14780 [Debug] > update_mps (runge_kutta_4 dt) (forces_string ())
23:19:41 #14781 [Debug] >
23:19:41 #14782 [Debug] > inl string_initial_overtone n =
23:19:41 #14783 [Debug] > inl ball_mass = 0.0008293 * 0.65 / 64
23:19:41 #14784 [Debug] > inl (particle_state default_particle_state') = default_particle_state ()
23:19:41 #14785 [Debug] > listm'.init_series 0.01 0.64 0.01
23:19:41 #14786 [Debug] > |> listm.map (fun x =>
23:19:41 #14787 [Debug] > inl y = 0.005 * sin (conv n * pi * x / 0.65)
23:19:41 #14788 [Debug] > particle_state {
23:19:41 #14789 [Debug] > default_particle_state' with
23:19:41 #14790 [Debug] > mass = ball_mass
23:19:41 #14791 [Debug] > pos_vec = x *^ i_hat () ^+^ y *^ j_hat ()
23:19:41 #14792 [Debug] > velocity = zero_vec ()
23:19:41 #14793 [Debug] > }
23:19:41 #14794 [Debug] > )
23:19:41 #14795 [Debug] > |> seq.from_list
23:19:41 #14796 [Debug] > |> multi_particle_state
23:19:41 #14797 [Debug] >
23:19:41 #14798 [Debug] > let main () =
23:19:41 #14799 [Debug] > inl ~frames = listm'.init_series 0 9 1f64
23:19:41 #14800 [Debug] > inl initial_state : _ f64 = string_initial_overtone 3i32
23:19:41 #14801 [Debug] > inl frames =
23:19:41 #14802 [Debug] > frames
23:19:41 #14803 [Debug] > |> listm.map (fun n =>
23:19:41 #14804 [Debug] > inl (multi_particle_state sts) =
23:19:41 #14805 [Debug] > seq.iterate (string_update 0.000025) initial_state |> fun f => f
23:19:41 #14806 [Debug] > 0f64
23:19:41 #14807 [Debug] > inl rs =
23:19:41 #14808 [Debug] > [[ zero_vec () ]]
23:19:41 #14809 [Debug] > /@ (sts |> seq.fold_ (fun acc (particle_state st) => st.pos_vec
23:19:41 #14810 [Debug] > :: acc) [[]] |> listm.rev)
23:19:41 #14811 [Debug] > /@ [[ 0.65 *^ i_hat () ]]
23:19:41 #14812 [Debug] > inl x, y =
23:19:41 #14813 [Debug] > rs
23:19:41 #14814 [Debug] > |> listm.map (fun r => r.x, r.y)
23:19:41 #14815 [Debug] > |> listm'.unzip
23:19:41 #14816 [Debug] > inl x : a i32 _ = x |> listm.toArray
23:19:41 #14817 [Debug] > inl y : a i32 _ = y |> listm.toArray
23:19:41 #14818 [Debug] > x, y
23:19:41 #14819 [Debug] > )
23:19:41 #14820 [Debug] > |> listm.toArray : a i32 _
23:19:41 #14821 [Debug] >
23:19:41 #14822 [Debug] > inl n = 0i32
23:19:41 #14823 [Debug] >
23:19:41 #14824 [Debug] > inl x, y = index frames n
23:19:41 #14825 [Debug] >
23:19:41 #14826 [Debug] > "wave",
23:19:41 #14827 [Debug] > "position (m)",
23:19:41 #14828 [Debug] > "displacement (m)",
23:19:41 #14829 [Debug] > ;[[
23:19:41 #14830 [Debug] > ($"$\"{!n}\"" : string), x, y
23:19:41 #14831 [Debug] > ]]
23:19:41 #14832 [Debug] > Building C:\Users\i574n\AppData\Local\Temp\!dotnet-repl\20231008-2319-4148-4813-4080961cfe4a\main.spi
23:19:42 #14833 [Debug] >
23:19:42 #14834 [Debug] > ╭─[ 631.38ms - return value ]──────────────────────────────────────────────────╮
23:19:42 #14835 [Debug] > │ <svg width="640" height="480" viewBox="0 0 640 480" │
23:19:42 #14836 [Debug] > │ xmlns="http://www.w3.org/2000/svg"> │
23:19:42 #14837 [Debug] > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │
23:19:42 #14838 [Debug] > │ stroke="none"/> │
23:19:42 #14839 [Debug] > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │
23:19:42 #14840 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #14841 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #14842 [Debug] > │ wave │
23:19:42 #14843 [Debug] > │ </text> │
23:19:42 #14844 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │
23:19:42 #14845 [Debug] > │ y2="75"/> │
23:19:42 #14846 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:42 #14847 [Debug] > │ y2="75"/> │
23:19:42 #14848 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │
23:19:42 #14849 [Debug] > │ y2="75"/> │
23:19:42 #14850 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │
23:19:42 #14851 [Debug] > │ y2="75"/> │
23:19:42 #14852 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │
23:19:42 #14853 [Debug] > │ y2="75"/> │
23:19:42 #14854 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424" │
23:19:42 #14855 [Debug] > │ x2="100" y2="75"/> │
23:19:42 #14856 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424" │
23:19:42 #14857 [Debug] > │ x2="108" y2="75"/> │
23:19:42 #14858 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424" │
23:19:42 #14859 [Debug] > │ x2="116" y2="75"/> │
23:19:42 #14860 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424" │
23:19:42 #14861 [Debug] > │ x2="123" y2="75"/> │
23:19:42 #14862 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424" │
23:19:42 #14863 [Debug] > │ x2="131" y2="75"/> │
23:19:42 #14864 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │
23:19:42 #14865 [Debug] > │ x2="139" y2="75"/> │
23:19:42 #14866 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424" │
23:19:42 #14867 [Debug] > │ x2="146" y2="75"/> │
23:19:42 #14868 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="154" y1="424" │
23:19:42 #14869 [Debug] > │ x2="154" y2="75"/> │
23:19:42 #14870 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="162" y1="424" │
23:19:42 #14871 [Debug] > │ x2="162" y2="75"/> │
23:19:42 #14872 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │
23:19:42 #14873 [Debug] > │ x2="169" y2="75"/> │
23:19:42 #14874 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424" │
23:19:42 #14875 [Debug] > │ x2="177" y2="75"/> │
23:19:42 #14876 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="185" y1="424" │
23:19:42 #14877 [Debug] > │ x2="185" y2="75"/> │
23:19:42 #14878 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="192" y1="424" │
23:19:42 #14879 [Debug] > │ x2="192" y2="75"/> │
23:19:42 #14880 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="200" y1="424" │
23:19:42 #14881 [Debug] > │ x2="200" y2="75"/> │
23:19:42 #14882 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="208" y1="424" │
23:19:42 #14883 [Debug] > │ x2="208" y2="75"/> │
23:19:42 #14884 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="215" y1="424" │
23:19:42 #14885 [Debug] > │ x2="215" y2="75"/> │
23:19:42 #14886 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="223" y1="424" │
23:19:42 #14887 [Debug] > │ x2="223" y2="75"/> │
23:19:42 #14888 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="231" y1="424" │
23:19:42 #14889 [Debug] > │ x2="231" y2="75"/> │
23:19:42 #14890 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="238" y1="424" │
23:19:42 #14891 [Debug] > │ x2="238" y2="75"/> │
23:19:42 #14892 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="246" y1="424" │
23:19:42 #14893 [Debug] > │ x2="246" y2="75"/> │
23:19:42 #14894 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="254" y1="424" │
23:19:42 #14895 [Debug] > │ x2="254" y2="75"/> │
23:19:42 #14896 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="261" y1="424" │
23:19:42 #14897 [Debug] > │ x2="261" y2="75"/> │
23:19:42 #14898 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="269" y1="424" │
23:19:42 #14899 [Debug] > │ x2="269" y2="75"/> │
23:19:42 #14900 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="277" y1="424" │
23:19:42 #14901 [Debug] > │ x2="277" y2="75"/> │
23:19:42 #14902 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="284" y1="424" │
23:19:42 #14903 [Debug] > │ x2="284" y2="75"/> │
23:19:42 #14904 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="292" y1="424" │
23:19:42 #14905 [Debug] > │ x2="292" y2="75"/> │
23:19:42 #14906 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="300" y1="424" │
23:19:42 #14907 [Debug] > │ x2="300" y2="75"/> │
23:19:42 #14908 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="307" y1="424" │
23:19:42 #14909 [Debug] > │ x2="307" y2="75"/> │
23:19:42 #14910 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="315" y1="424" │
23:19:42 #14911 [Debug] > │ x2="315" y2="75"/> │
23:19:42 #14912 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="323" y1="424" │
23:19:42 #14913 [Debug] > │ x2="323" y2="75"/> │
23:19:42 #14914 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="331" y1="424" │
23:19:42 #14915 [Debug] > │ x2="331" y2="75"/> │
23:19:42 #14916 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="338" y1="424" │
23:19:42 #14917 [Debug] > │ x2="338" y2="75"/> │
23:19:42 #14918 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="346" y1="424" │
23:19:42 #14919 [Debug] > │ x2="346" y2="75"/> │
23:19:42 #14920 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="354" y1="424" │
23:19:42 #14921 [Debug] > │ x2="354" y2="75"/> │
23:19:42 #14922 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="361" y1="424" │
23:19:42 #14923 [Debug] > │ x2="361" y2="75"/> │
23:19:42 #14924 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="369" y1="424" │
23:19:42 #14925 [Debug] > │ x2="369" y2="75"/> │
23:19:42 #14926 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="377" y1="424" │
23:19:42 #14927 [Debug] > │ x2="377" y2="75"/> │
23:19:42 #14928 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="384" y1="424" │
23:19:42 #14929 [Debug] > │ x2="384" y2="75"/> │
23:19:42 #14930 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="392" y1="424" │
23:19:42 #14931 [Debug] > │ x2="392" y2="75"/> │
23:19:42 #14932 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="400" y1="424" │
23:19:42 #14933 [Debug] > │ x2="400" y2="75"/> │
23:19:42 #14934 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="407" y1="424" │
23:19:42 #14935 [Debug] > │ x2="407" y2="75"/> │
23:19:42 #14936 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="415" y1="424" │
23:19:42 #14937 [Debug] > │ x2="415" y2="75"/> │
23:19:42 #14938 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="423" y1="424" │
23:19:42 #14939 [Debug] > │ x2="423" y2="75"/> │
23:19:42 #14940 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="430" y1="424" │
23:19:42 #14941 [Debug] > │ x2="430" y2="75"/> │
23:19:42 #14942 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="438" y1="424" │
23:19:42 #14943 [Debug] > │ x2="438" y2="75"/> │
23:19:42 #14944 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="446" y1="424" │
23:19:42 #14945 [Debug] > │ x2="446" y2="75"/> │
23:19:42 #14946 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="453" y1="424" │
23:19:42 #14947 [Debug] > │ x2="453" y2="75"/> │
23:19:42 #14948 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="461" y1="424" │
23:19:42 #14949 [Debug] > │ x2="461" y2="75"/> │
23:19:42 #14950 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="469" y1="424" │
23:19:42 #14951 [Debug] > │ x2="469" y2="75"/> │
23:19:42 #14952 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="476" y1="424" │
23:19:42 #14953 [Debug] > │ x2="476" y2="75"/> │
23:19:42 #14954 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="484" y1="424" │
23:19:42 #14955 [Debug] > │ x2="484" y2="75"/> │
23:19:42 #14956 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="492" y1="424" │
23:19:42 #14957 [Debug] > │ x2="492" y2="75"/> │
23:19:42 #14958 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="499" y1="424" │
23:19:42 #14959 [Debug] > │ x2="499" y2="75"/> │
23:19:42 #14960 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="507" y1="424" │
23:19:42 #14961 [Debug] > │ x2="507" y2="75"/> │
23:19:42 #14962 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="515" y1="424" │
23:19:42 #14963 [Debug] > │ x2="515" y2="75"/> │
23:19:42 #14964 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="522" y1="424" │
23:19:42 #14965 [Debug] > │ x2="522" y2="75"/> │
23:19:42 #14966 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="530" y1="424" │
23:19:42 #14967 [Debug] > │ x2="530" y2="75"/> │
23:19:42 #14968 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="538" y1="424" │
23:19:42 #14969 [Debug] > │ x2="538" y2="75"/> │
23:19:42 #14970 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="545" y1="424" │
23:19:42 #14971 [Debug] > │ x2="545" y2="75"/> │
23:19:42 #14972 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="553" y1="424" │
23:19:42 #14973 [Debug] > │ x2="553" y2="75"/> │
23:19:42 #14974 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="561" y1="424" │
23:19:42 #14975 [Debug] > │ x2="561" y2="75"/> │
23:19:42 #14976 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="569" y1="424" │
23:19:42 #14977 [Debug] > │ x2="569" y2="75"/> │
23:19:42 #14978 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="415" │
23:19:42 #14979 [Debug] > │ x2="584" y2="415"/> │
23:19:42 #14980 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="399" │
23:19:42 #14981 [Debug] > │ x2="584" y2="399"/> │
23:19:42 #14982 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="382" │
23:19:42 #14983 [Debug] > │ x2="584" y2="382"/> │
23:19:42 #14984 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="366" │
23:19:42 #14985 [Debug] > │ x2="584" y2="366"/> │
23:19:42 #14986 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="349" │
23:19:42 #14987 [Debug] > │ x2="584" y2="349"/> │
23:19:42 #14988 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="333" │
23:19:42 #14989 [Debug] > │ x2="584" y2="333"/> │
23:19:42 #14990 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="316" │
23:19:42 #14991 [Debug] > │ x2="584" y2="316"/> │
23:19:42 #14992 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="300" │
23:19:42 #14993 [Debug] > │ x2="584" y2="300"/> │
23:19:42 #14994 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="283" │
23:19:42 #14995 [Debug] > │ x2="584" y2="283"/> │
23:19:42 #14996 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="267" │
23:19:42 #14997 [Debug] > │ x2="584" y2="267"/> │
23:19:42 #14998 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="250" │
23:19:42 #14999 [Debug] > │ x2="584" y2="250"/> │
23:19:42 #15000 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="234" │
23:19:42 #15001 [Debug] > │ x2="584" y2="234"/> │
23:19:42 #15002 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="217" │
23:19:42 #15003 [Debug] > │ x2="584" y2="217"/> │
23:19:42 #15004 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="201" │
23:19:42 #15005 [Debug] > │ x2="584" y2="201"/> │
23:19:42 #15006 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="184" │
23:19:42 #15007 [Debug] > │ x2="584" y2="184"/> │
23:19:42 #15008 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="168" │
23:19:42 #15009 [Debug] > │ x2="584" y2="168"/> │
23:19:42 #15010 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="151" │
23:19:42 #15011 [Debug] > │ x2="584" y2="151"/> │
23:19:42 #15012 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="135" │
23:19:42 #15013 [Debug] > │ x2="584" y2="135"/> │
23:19:42 #15014 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="118" │
23:19:42 #15015 [Debug] > │ x2="584" y2="118"/> │
23:19:42 #15016 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="102" │
23:19:42 #15017 [Debug] > │ x2="584" y2="102"/> │
23:19:42 #15018 [Debug] > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="85" x2="584" │
23:19:42 #15019 [Debug] > │ y2="85"/> │
23:19:42 #15020 [Debug] > │ <text x="320" y="25" dy="0.76em" text-anchor="middle" │
23:19:42 #15021 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15022 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15023 [Debug] > │ position (m) │
23:19:42 #15024 [Debug] > │ </text> │
23:19:42 #15025 [Debug] > │ <text x="5" y="250" dy="0.76em" text-anchor="middle" │
23:19:42 #15026 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15027 [Debug] > │ fill="#FFFFFF" transform="rotate(270, 5, 250)"> │
23:19:42 #15028 [Debug] > │ displacement (m) │
23:19:42 #15029 [Debug] > │ </text> │
23:19:42 #15030 [Debug] > │ <text x="320" y="475" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15031 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15032 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15033 [Debug] > │ position (m) │
23:19:42 #15034 [Debug] > │ </text> │
23:19:42 #15035 [Debug] > │ <text x="635" y="250" dy="0.76em" text-anchor="middle" │
23:19:42 #15036 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15037 [Debug] > │ fill="#FFFFFF" transform="rotate(90, 635, 250)"> │
23:19:42 #15038 [Debug] > │ displacement (m) │
23:19:42 #15039 [Debug] > │ </text> │
23:19:42 #15040 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="69" y1="424" x2="69" │
23:19:42 #15041 [Debug] > │ y2="75"/> │
23:19:42 #15042 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="108" y1="424" │
23:19:42 #15043 [Debug] > │ x2="108" y2="75"/> │
23:19:42 #15044 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="146" y1="424" │
23:19:42 #15045 [Debug] > │ x2="146" y2="75"/> │
23:19:42 #15046 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="185" y1="424" │
23:19:42 #15047 [Debug] > │ x2="185" y2="75"/> │
23:19:42 #15048 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="223" y1="424" │
23:19:42 #15049 [Debug] > │ x2="223" y2="75"/> │
23:19:42 #15050 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="261" y1="424" │
23:19:42 #15051 [Debug] > │ x2="261" y2="75"/> │
23:19:42 #15052 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="300" y1="424" │
23:19:42 #15053 [Debug] > │ x2="300" y2="75"/> │
23:19:42 #15054 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="338" y1="424" │
23:19:42 #15055 [Debug] > │ x2="338" y2="75"/> │
23:19:42 #15056 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="377" y1="424" │
23:19:42 #15057 [Debug] > │ x2="377" y2="75"/> │
23:19:42 #15058 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="415" y1="424" │
23:19:42 #15059 [Debug] > │ x2="415" y2="75"/> │
23:19:42 #15060 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="453" y1="424" │
23:19:42 #15061 [Debug] > │ x2="453" y2="75"/> │
23:19:42 #15062 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="492" y1="424" │
23:19:42 #15063 [Debug] > │ x2="492" y2="75"/> │
23:19:42 #15064 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="530" y1="424" │
23:19:42 #15065 [Debug] > │ x2="530" y2="75"/> │
23:19:42 #15066 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="569" y1="424" │
23:19:42 #15067 [Debug] > │ x2="569" y2="75"/> │
23:19:42 #15068 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="382" │
23:19:42 #15069 [Debug] > │ x2="584" y2="382"/> │
23:19:42 #15070 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="316" │
23:19:42 #15071 [Debug] > │ x2="584" y2="316"/> │
23:19:42 #15072 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="250" │
23:19:42 #15073 [Debug] > │ x2="584" y2="250"/> │
23:19:42 #15074 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="184" │
23:19:42 #15075 [Debug] > │ x2="584" y2="184"/> │
23:19:42 #15076 [Debug] > │ <line opacity="1" stroke="#5A5A5A" stroke-width="1" x1="55" y1="118" │
23:19:42 #15077 [Debug] > │ x2="584" y2="118"/> │
23:19:42 #15078 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15079 [Debug] > │ points="55,74 584,74 "/> │
23:19:42 #15080 [Debug] > │ <text x="69" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15081 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15082 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15083 [Debug] > │ 0.0 │
23:19:42 #15084 [Debug] > │ </text> │
23:19:42 #15085 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15086 [Debug] > │ points="69,69 69,74 "/> │
23:19:42 #15087 [Debug] > │ <text x="108" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15088 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15089 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15090 [Debug] > │ 0.1 │
23:19:42 #15091 [Debug] > │ </text> │
23:19:42 #15092 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15093 [Debug] > │ points="108,69 108,74 "/> │
23:19:42 #15094 [Debug] > │ <text x="146" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15095 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15096 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15097 [Debug] > │ 0.1 │
23:19:42 #15098 [Debug] > │ </text> │
23:19:42 #15099 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15100 [Debug] > │ points="146,69 146,74 "/> │
23:19:42 #15101 [Debug] > │ <text x="185" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15102 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15103 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15104 [Debug] > │ 0.2 │
23:19:42 #15105 [Debug] > │ </text> │
23:19:42 #15106 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15107 [Debug] > │ points="185,69 185,74 "/> │
23:19:42 #15108 [Debug] > │ <text x="223" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15109 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15110 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15111 [Debug] > │ 0.2 │
23:19:42 #15112 [Debug] > │ </text> │
23:19:42 #15113 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15114 [Debug] > │ points="223,69 223,74 "/> │
23:19:42 #15115 [Debug] > │ <text x="261" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15116 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15117 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15118 [Debug] > │ 0.2 │
23:19:42 #15119 [Debug] > │ </text> │
23:19:42 #15120 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15121 [Debug] > │ points="261,69 261,74 "/> │
23:19:42 #15122 [Debug] > │ <text x="300" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15123 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15124 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15125 [Debug] > │ 0.3 │
23:19:42 #15126 [Debug] > │ </text> │
23:19:42 #15127 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15128 [Debug] > │ points="300,69 300,74 "/> │
23:19:42 #15129 [Debug] > │ <text x="338" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15130 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15131 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15132 [Debug] > │ 0.3 │
23:19:42 #15133 [Debug] > │ </text> │
23:19:42 #15134 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15135 [Debug] > │ points="338,69 338,74 "/> │
23:19:42 #15136 [Debug] > │ <text x="377" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15137 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15138 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15139 [Debug] > │ 0.4 │
23:19:42 #15140 [Debug] > │ </text> │
23:19:42 #15141 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15142 [Debug] > │ points="377,69 377,74 "/> │
23:19:42 #15143 [Debug] > │ <text x="415" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15144 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15145 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15146 [Debug] > │ 0.4 │
23:19:42 #15147 [Debug] > │ </text> │
23:19:42 #15148 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15149 [Debug] > │ points="415,69 415,74 "/> │
23:19:42 #15150 [Debug] > │ <text x="453" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15151 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15152 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15153 [Debug] > │ 0.5 │
23:19:42 #15154 [Debug] > │ </text> │
23:19:42 #15155 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15156 [Debug] > │ points="453,69 453,74 "/> │
23:19:42 #15157 [Debug] > │ <text x="492" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15158 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15159 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15160 [Debug] > │ 0.5 │
23:19:42 #15161 [Debug] > │ </text> │
23:19:42 #15162 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15163 [Debug] > │ points="492,69 492,74 "/> │
23:19:42 #15164 [Debug] > │ <text x="530" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15165 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15166 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15167 [Debug] > │ 0.6 │
23:19:42 #15168 [Debug] > │ </text> │
23:19:42 #15169 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15170 [Debug] > │ points="530,69 530,74 "/> │
23:19:42 #15171 [Debug] > │ <text x="569" y="65" dy="-0.5ex" text-anchor="middle" │
23:19:42 #15172 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15173 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15174 [Debug] > │ 0.7 │
23:19:42 #15175 [Debug] > │ </text> │
23:19:42 #15176 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15177 [Debug] > │ points="569,69 569,74 "/> │
23:19:42 #15178 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15179 [Debug] > │ points="54,75 54,424 "/> │
23:19:42 #15180 [Debug] > │ <text x="45" y="382" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15181 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15182 [Debug] > │ -0.0 │
23:19:42 #15183 [Debug] > │ </text> │
23:19:42 #15184 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15185 [Debug] > │ points="49,382 54,382 "/> │
23:19:42 #15186 [Debug] > │ <text x="45" y="316" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15187 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15188 [Debug] > │ -0.0 │
23:19:42 #15189 [Debug] > │ </text> │
23:19:42 #15190 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15191 [Debug] > │ points="49,316 54,316 "/> │
23:19:42 #15192 [Debug] > │ <text x="45" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15193 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15194 [Debug] > │ 0.0 │
23:19:42 #15195 [Debug] > │ </text> │
23:19:42 #15196 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15197 [Debug] > │ points="49,250 54,250 "/> │
23:19:42 #15198 [Debug] > │ <text x="45" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15199 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15200 [Debug] > │ 0.0 │
23:19:42 #15201 [Debug] > │ </text> │
23:19:42 #15202 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15203 [Debug] > │ points="49,184 54,184 "/> │
23:19:42 #15204 [Debug] > │ <text x="45" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15205 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15206 [Debug] > │ 0.0 │
23:19:42 #15207 [Debug] > │ </text> │
23:19:42 #15208 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15209 [Debug] > │ points="49,118 54,118 "/> │
23:19:42 #15210 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15211 [Debug] > │ points="55,425 584,425 "/> │
23:19:42 #15212 [Debug] > │ <text x="69" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15213 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15214 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15215 [Debug] > │ 0.0 │
23:19:42 #15216 [Debug] > │ </text> │
23:19:42 #15217 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15218 [Debug] > │ points="69,425 69,430 "/> │
23:19:42 #15219 [Debug] > │ <text x="108" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15220 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15221 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15222 [Debug] > │ 0.1 │
23:19:42 #15223 [Debug] > │ </text> │
23:19:42 #15224 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15225 [Debug] > │ points="108,425 108,430 "/> │
23:19:42 #15226 [Debug] > │ <text x="146" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15227 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15228 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15229 [Debug] > │ 0.1 │
23:19:42 #15230 [Debug] > │ </text> │
23:19:42 #15231 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15232 [Debug] > │ points="146,425 146,430 "/> │
23:19:42 #15233 [Debug] > │ <text x="185" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15234 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15235 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15236 [Debug] > │ 0.2 │
23:19:42 #15237 [Debug] > │ </text> │
23:19:42 #15238 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15239 [Debug] > │ points="185,425 185,430 "/> │
23:19:42 #15240 [Debug] > │ <text x="223" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15241 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15242 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15243 [Debug] > │ 0.2 │
23:19:42 #15244 [Debug] > │ </text> │
23:19:42 #15245 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15246 [Debug] > │ points="223,425 223,430 "/> │
23:19:42 #15247 [Debug] > │ <text x="261" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15248 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15249 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15250 [Debug] > │ 0.2 │
23:19:42 #15251 [Debug] > │ </text> │
23:19:42 #15252 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15253 [Debug] > │ points="261,425 261,430 "/> │
23:19:42 #15254 [Debug] > │ <text x="300" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15255 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15256 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15257 [Debug] > │ 0.3 │
23:19:42 #15258 [Debug] > │ </text> │
23:19:42 #15259 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15260 [Debug] > │ points="300,425 300,430 "/> │
23:19:42 #15261 [Debug] > │ <text x="338" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15262 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15263 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15264 [Debug] > │ 0.3 │
23:19:42 #15265 [Debug] > │ </text> │
23:19:42 #15266 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15267 [Debug] > │ points="338,425 338,430 "/> │
23:19:42 #15268 [Debug] > │ <text x="377" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15269 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15270 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15271 [Debug] > │ 0.4 │
23:19:42 #15272 [Debug] > │ </text> │
23:19:42 #15273 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15274 [Debug] > │ points="377,425 377,430 "/> │
23:19:42 #15275 [Debug] > │ <text x="415" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15276 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15277 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15278 [Debug] > │ 0.4 │
23:19:42 #15279 [Debug] > │ </text> │
23:19:42 #15280 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15281 [Debug] > │ points="415,425 415,430 "/> │
23:19:42 #15282 [Debug] > │ <text x="453" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15283 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15284 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15285 [Debug] > │ 0.5 │
23:19:42 #15286 [Debug] > │ </text> │
23:19:42 #15287 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15288 [Debug] > │ points="453,425 453,430 "/> │
23:19:42 #15289 [Debug] > │ <text x="492" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15290 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15291 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15292 [Debug] > │ 0.5 │
23:19:42 #15293 [Debug] > │ </text> │
23:19:42 #15294 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15295 [Debug] > │ points="492,425 492,430 "/> │
23:19:42 #15296 [Debug] > │ <text x="530" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15297 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15298 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15299 [Debug] > │ 0.6 │
23:19:42 #15300 [Debug] > │ </text> │
23:19:42 #15301 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15302 [Debug] > │ points="530,425 530,430 "/> │
23:19:42 #15303 [Debug] > │ <text x="569" y="435" dy="0.76em" text-anchor="middle" │
23:19:42 #15304 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15305 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15306 [Debug] > │ 0.7 │
23:19:42 #15307 [Debug] > │ </text> │
23:19:42 #15308 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15309 [Debug] > │ points="569,425 569,430 "/> │
23:19:42 #15310 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15311 [Debug] > │ points="585,75 585,424 "/> │
23:19:42 #15312 [Debug] > │ <text x="595" y="382" dy="0.5ex" text-anchor="start" │
23:19:42 #15313 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15314 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15315 [Debug] > │ -0.0 │
23:19:42 #15316 [Debug] > │ </text> │
23:19:42 #15317 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15318 [Debug] > │ points="585,382 590,382 "/> │
23:19:42 #15319 [Debug] > │ <text x="595" y="316" dy="0.5ex" text-anchor="start" │
23:19:42 #15320 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15321 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15322 [Debug] > │ -0.0 │
23:19:42 #15323 [Debug] > │ </text> │
23:19:42 #15324 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15325 [Debug] > │ points="585,316 590,316 "/> │
23:19:42 #15326 [Debug] > │ <text x="617" y="250" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15327 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15328 [Debug] > │ 0.0 │
23:19:42 #15329 [Debug] > │ </text> │
23:19:42 #15330 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15331 [Debug] > │ points="585,250 590,250 "/> │
23:19:42 #15332 [Debug] > │ <text x="617" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15333 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15334 [Debug] > │ 0.0 │
23:19:42 #15335 [Debug] > │ </text> │
23:19:42 #15336 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15337 [Debug] > │ points="585,184 590,184 "/> │
23:19:42 #15338 [Debug] > │ <text x="617" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif" │
23:19:42 #15339 [Debug] > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │
23:19:42 #15340 [Debug] > │ 0.0 │
23:19:42 #15341 [Debug] > │ </text> │
23:19:42 #15342 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │
23:19:42 #15343 [Debug] > │ points="585,118 590,118 "/> │
23:19:42 #15344 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:42 #15345 [Debug] > │ points="69,250 77,226 85,203 93,181 100,160 108,141 116,124 123,110 131,99 │
23:19:42 #15346 [Debug] > │ 139,91 146,87 154,85 162,88 169,93 177,102 185,115 192,129 200,147 208,167 │
23:19:42 #15347 [Debug] > │ 215,188 223,211 231,234 238,258 246,282 254,305 261,327 269,347 277,365 │
23:19:42 #15348 [Debug] > │ 284,381 292,394 300,404 307,411 315,415 323,415 331,411 338,404 346,394 │
23:19:42 #15349 [Debug] > │ 354,381 361,365 369,347 377,327 384,305 392,282 400,258 407,234 415,211 │
23:19:42 #15350 [Debug] > │ 423,188 430,167 438,147 446,129 453,115 461,102 469,93 476,88 484,85 492,87 │
23:19:42 #15351 [Debug] > │ 499,91 507,99 515,110 522,124 530,141 538,160 545,181 553,203 561,226 │
23:19:42 #15352 [Debug] > │ 569,250 "/> │
23:19:42 #15353 [Debug] > │ <rect x="525" y="235" width="55" height="30" opacity="1" fill="none" │
23:19:42 #15354 [Debug] > │ stroke="#FFFFFF"/> │
23:19:42 #15355 [Debug] > │ <text x="565" y="245" dy="0.76em" text-anchor="start" │
23:19:42 #15356 [Debug] > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │
23:19:42 #15357 [Debug] > │ fill="#FFFFFF"> │
23:19:42 #15358 [Debug] > │ 0 │
23:19:42 #15359 [Debug] > │ </text> │
23:19:42 #15360 [Debug] > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │
23:19:42 #15361 [Debug] > │ points="535,250 555,250 "/> │
23:19:42 #15362 [Debug] > │ </svg> │
23:19:42 #15363 [Debug] > │ │
23:19:42 #15364 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:42 #15365 [Debug] >
23:19:42 #15366 [Debug] > ╭─[ 894.57ms - stdout ]────────────────────────────────────────────────────────╮
23:19:42 #15367 [Debug] > │ type UH0 = │
23:19:42 #15368 [Debug] > │ | UH0_0 of float * UH0 │
23:19:42 #15369 [Debug] > │ | UH0_1 │
23:19:42 #15370 [Debug] > │ and UH1 = │
23:19:42 #15371 [Debug] > │ | UH1_0 of (float []) * (float []) * UH1 │
23:19:42 #15372 [Debug] > │ | UH1_1 │
23:19:42 #15373 [Debug] > │ and UH2 = │
23:19:42 #15374 [Debug] > │ | UH2_0 of float * float * float * UH2 │
23:19:42 #15375 [Debug] > │ | UH2_1 │
23:19:42 #15376 [Debug] > │ and [<Struct>] US0 = │
23:19:42 #15377 [Debug] > │ | US0_0 │
23:19:42 #15378 [Debug] > │ | US0_1 of f1_0 : float * f1_1 : float * f1_2 : float * f1_3 : float * │
23:19:42 #15379 [Debug] > │ f1_4 : float * f1_5 : float * f1_6 : float * f1_7 : float * f1_8 : float │
23:19:42 #15380 [Debug] > │ and UH3 = │
23:19:42 #15381 [Debug] > │ | UH3_0 of float * float * UH3 │
23:19:42 #15382 [Debug] > │ | UH3_1 │
23:19:42 #15383 [Debug] > │ let rec method2 (v0 : UH2, v1 : float) : UH2 = │
23:19:42 #15384 [Debug] > │ let v2 : bool = v1 = 0.0 │
23:19:42 #15385 [Debug] > │ let v258 : US0 = │
23:19:42 #15386 [Debug] > │ if v2 then │
23:19:42 #15387 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.01, 0.0007224452478461068, 0.0, │
23:19:42 #15388 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15389 [Debug] > │ else │
23:19:42 #15390 [Debug] > │ let v4 : float = v1 - 1.0 │
23:19:42 #15391 [Debug] > │ let v5 : bool = v4 = 0.0 │
23:19:42 #15392 [Debug] > │ if v5 then │
23:19:42 #15393 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.02, 0.0014297283919934465, │
23:19:42 #15394 [Debug] > │ 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15395 [Debug] > │ else │
23:19:42 #15396 [Debug] > │ let v7 : float = v4 - 1.0 │
23:19:42 #15397 [Debug] > │ let v8 : bool = v7 = 0.0 │
23:19:42 #15398 [Debug] > │ if v8 then │
23:19:42 #15399 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.03, 0.0021070055388626454, │
23:19:42 #15400 [Debug] > │ 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15401 [Debug] > │ else │
23:19:42 #15402 [Debug] > │ let v10 : float = v7 - 1.0 │
23:19:42 #15403 [Debug] > │ let v11 : bool = v10 = 0.0 │
23:19:42 #15404 [Debug] > │ if v11 then │
23:19:42 #15405 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.04, │
23:19:42 #15406 [Debug] > │ 0.00274006253677335, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15407 [Debug] > │ else │
23:19:42 #15408 [Debug] > │ let v13 : float = v10 - 1.0 │
23:19:42 #15409 [Debug] > │ let v14 : bool = v13 = 0.0 │
23:19:42 #15410 [Debug] > │ if v14 then │
23:19:42 #15411 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.05, │
23:19:42 #15412 [Debug] > │ 0.0033156132912039757, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15413 [Debug] > │ else │
23:19:42 #15414 [Debug] > │ let v16 : float = v13 - 1.0 │
23:19:42 #15415 [Debug] > │ let v17 : bool = v16 = 0.0 │
23:19:42 #15416 [Debug] > │ if v17 then │
23:19:42 #15417 [Debug] > │ US0_1(0.0, 8.422578125E-06, │
23:19:42 #15418 [Debug] > │ 0.060000000000000005, 0.0038215786027292415, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15419 [Debug] > │ else │
23:19:42 #15420 [Debug] > │ let v19 : float = v16 - 1.0 │
23:19:42 #15421 [Debug] > │ let v20 : bool = v19 = 0.0 │
23:19:42 #15422 [Debug] > │ if v20 then │
23:19:42 #15423 [Debug] > │ US0_1(0.0, 8.422578125E-06, │
23:19:42 #15424 [Debug] > │ 0.06999999999999999, 0.004247339675607605, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15425 [Debug] > │ else │
23:19:42 #15426 [Debug] > │ let v22 : float = v19 - 1.0 │
23:19:42 #15427 [Debug] > │ let v23 : bool = v22 = 0.0 │
23:19:42 #15428 [Debug] > │ if v23 then │
23:19:42 #15429 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.08, │
23:19:42 #15430 [Debug] > │ 0.004583960976582912, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15431 [Debug] > │ else │
23:19:42 #15432 [Debug] > │ let v25 : float = v22 - 1.0 │
23:19:42 #15433 [Debug] > │ let v26 : bool = v25 = 0.0 │
23:19:42 #15434 [Debug] > │ if v26 then │
23:19:42 #15435 [Debug] > │ US0_1(0.0, 8.422578125E-06, │
23:19:42 #15436 [Debug] > │ 0.09, 0.004824377766717757, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15437 [Debug] > │ else │
23:19:42 #15438 [Debug] > │ let v28 : float = v25 - 1.0 │
23:19:42 #15439 [Debug] > │ let v29 : bool = v28 = 0.0 │
23:19:42 #15440 [Debug] > │ if v29 then │
23:19:42 #15441 [Debug] > │ US0_1(0.0, 8.422578125E-06, │
23:19:42 #15442 [Debug] > │ 0.09999999999999999, 0.00496354437049027, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15443 [Debug] > │ else │
23:19:42 #15444 [Debug] > │ let v31 : float = v28 - 1.0 │
23:19:42 #15445 [Debug] > │ let v32 : bool = v31 = 0.0 │
23:19:42 #15446 [Debug] > │ if v32 then │
23:19:42 #15447 [Debug] > │ US0_1(0.0, │
23:19:42 #15448 [Debug] > │ 8.422578125E-06, 0.11, 0.004998540070400965, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15449 [Debug] > │ else │
23:19:42 #15450 [Debug] > │ let v34 : float = v31 - │
23:19:42 #15451 [Debug] > │ 1.0 │
23:19:42 #15452 [Debug] > │ let v35 : bool = v34 = │
23:19:42 #15453 [Debug] > │ 0.0 │
23:19:42 #15454 [Debug] > │ if v35 then │
23:19:42 #15455 [Debug] > │ US0_1(0.0, │
23:19:42 #15456 [Debug] > │ 8.422578125E-06, 0.12, 0.004928630404658255, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15457 [Debug] > │ else │
23:19:42 #15458 [Debug] > │ let v37 : float = │
23:19:42 #15459 [Debug] > │ v34 - 1.0 │
23:19:42 #15460 [Debug] > │ let v38 : bool = v37 │
23:19:42 #15461 [Debug] > │ = 0.0 │
23:19:42 #15462 [Debug] > │ if v38 then │
23:19:42 #15463 [Debug] > │ US0_1(0.0, │
23:19:42 #15464 [Debug] > │ 8.422578125E-06, 0.13, 0.004755282581475768, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15465 [Debug] > │ else │
23:19:42 #15466 [Debug] > │ let v40 : float │
23:19:42 #15467 [Debug] > │ = v37 - 1.0 │
23:19:42 #15468 [Debug] > │ let v41 : bool = │
23:19:42 #15469 [Debug] > │ v40 = 0.0 │
23:19:42 #15470 [Debug] > │ if v41 then │
23:19:42 #15471 [Debug] > │ US0_1(0.0, │
23:19:42 #15472 [Debug] > │ 8.422578125E-06, 0.14, 0.004482134686478519, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15473 [Debug] > │ else │
23:19:42 #15474 [Debug] > │ let v43 : │
23:19:42 #15475 [Debug] > │ float = v40 - 1.0 │
23:19:42 #15476 [Debug] > │ let v44 : │
23:19:42 #15477 [Debug] > │ bool = v43 = 0.0 │
23:19:42 #15478 [Debug] > │ if v44 then │
23:19:42 #15479 [Debug] > │ │
23:19:42 #15480 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.15000000000000002, 0.0041149193294682815, 0.0, │
23:19:42 #15481 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15482 [Debug] > │ else │
23:19:42 #15483 [Debug] > │ let v46 │
23:19:42 #15484 [Debug] > │ : float = v43 - 1.0 │
23:19:42 #15485 [Debug] > │ let v47 │
23:19:42 #15486 [Debug] > │ : bool = v46 = 0.0 │
23:19:42 #15487 [Debug] > │ if v47 │
23:19:42 #15488 [Debug] > │ then │
23:19:42 #15489 [Debug] > │ │
23:19:42 #15490 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.16, 0.0036613433329888666, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15491 [Debug] > │ 0.0) │
23:19:42 #15492 [Debug] > │ else │
23:19:42 #15493 [Debug] > │ let │
23:19:42 #15494 [Debug] > │ v49 : float = v46 - 1.0 │
23:19:42 #15495 [Debug] > │ let │
23:19:42 #15496 [Debug] > │ v50 : bool = v49 = 0.0 │
23:19:42 #15497 [Debug] > │ if │
23:19:42 #15498 [Debug] > │ v50 then │
23:19:42 #15499 [Debug] > │ │
23:19:42 #15500 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.17, 0.0031309259876915697, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15501 [Debug] > │ 0.0) │
23:19:42 #15502 [Debug] > │ else │
23:19:42 #15503 [Debug] > │ │
23:19:42 #15504 [Debug] > │ let v52 : float = v49 - 1.0 │
23:19:42 #15505 [Debug] > │ │
23:19:42 #15506 [Debug] > │ let v53 : bool = v52 = 0.0 │
23:19:42 #15507 [Debug] > │ │
23:19:42 #15508 [Debug] > │ if v53 then │
23:19:42 #15509 [Debug] > │ │
23:19:42 #15510 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.18000000000000002, 0.002534799269067951, 0.0, │
23:19:42 #15511 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15512 [Debug] > │ │
23:19:42 #15513 [Debug] > │ else │
23:19:42 #15514 [Debug] > │ │
23:19:42 #15515 [Debug] > │ let v55 : float = v52 - 1.0 │
23:19:42 #15516 [Debug] > │ │
23:19:42 #15517 [Debug] > │ let v56 : bool = v55 = 0.0 │
23:19:42 #15518 [Debug] > │ │
23:19:42 #15519 [Debug] > │ if v56 then │
23:19:42 #15520 [Debug] > │ │
23:19:42 #15521 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.19, 0.0018854742084416015, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15522 [Debug] > │ 0.0) │
23:19:42 #15523 [Debug] > │ │
23:19:42 #15524 [Debug] > │ else │
23:19:42 #15525 [Debug] > │ │
23:19:42 #15526 [Debug] > │ let v58 : float = v55 - 1.0 │
23:19:42 #15527 [Debug] > │ │
23:19:42 #15528 [Debug] > │ let v59 : bool = v58 = 0.0 │
23:19:42 #15529 [Debug] > │ │
23:19:42 #15530 [Debug] > │ if v59 then │
23:19:42 #15531 [Debug] > │ │
23:19:42 #15532 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.2, 0.0011965783214377905, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15533 [Debug] > │ 0.0) │
23:19:42 #15534 [Debug] > │ │
23:19:42 #15535 [Debug] > │ else │
23:19:42 #15536 [Debug] > │ │
23:19:42 #15537 [Debug] > │ let v61 : float = v58 - 1.0 │
23:19:42 #15538 [Debug] > │ │
23:19:42 #15539 [Debug] > │ let v62 : bool = v61 = 0.0 │
23:19:42 #15540 [Debug] > │ │
23:19:42 #15541 [Debug] > │ if v62 then │
23:19:42 #15542 [Debug] > │ │
23:19:42 #15543 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.21000000000000002, 0.00048256960457257535, │
23:19:42 #15544 [Debug] > │ 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15545 [Debug] > │ │
23:19:42 #15546 [Debug] > │ else │
23:19:42 #15547 [Debug] > │ │
23:19:42 #15548 [Debug] > │ let v64 : float = v61 - 1.0 │
23:19:42 #15549 [Debug] > │ │
23:19:42 #15550 [Debug] > │ let v65 : bool = v64 = 0.0 │
23:19:42 #15551 [Debug] > │ │
23:19:42 #15552 [Debug] > │ if v65 then │
23:19:42 #15553 [Debug] > │ │
23:19:42 #15554 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.22, -0.00024156689762753317, 0.0, 0.0, 0.0, │
23:19:42 #15555 [Debug] > │ 0.0, 0.0) │
23:19:42 #15556 [Debug] > │ │
23:19:42 #15557 [Debug] > │ else │
23:19:42 #15558 [Debug] > │ │
23:19:42 #15559 [Debug] > │ let v67 : float = v64 - 1.0 │
23:19:42 #15560 [Debug] > │ │
23:19:42 #15561 [Debug] > │ let v68 : bool = v67 = 0.0 │
23:19:42 #15562 [Debug] > │ │
23:19:42 #15563 [Debug] > │ if v68 then │
23:19:42 #15564 [Debug] > │ │
23:19:42 #15565 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.23, -0.0009606335867685418, 0.0, 0.0, 0.0, │
23:19:42 #15566 [Debug] > │ 0.0, 0.0) │
23:19:42 #15567 [Debug] > │ │
23:19:42 #15568 [Debug] > │ else │
23:19:42 #15569 [Debug] > │ │
23:19:42 #15570 [Debug] > │ let v70 : float = v67 - 1.0 │
23:19:42 #15571 [Debug] > │ │
23:19:42 #15572 [Debug] > │ let v71 : bool = v70 = 0.0 │
23:19:42 #15573 [Debug] > │ │
23:19:42 #15574 [Debug] > │ if v71 then │
23:19:42 #15575 [Debug] > │ │
23:19:42 #15576 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.24000000000000002, -0.001659539265642642, 0.0, │
23:19:42 #15577 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15578 [Debug] > │ │
23:19:42 #15579 [Debug] > │ else │
23:19:42 #15580 [Debug] > │ │
23:19:42 #15581 [Debug] > │ let v73 : float = v70 - 1.0 │
23:19:42 #15582 [Debug] > │ │
23:19:42 #15583 [Debug] > │ let v74 : bool = v73 = 0.0 │
23:19:42 #15584 [Debug] > │ │
23:19:42 #15585 [Debug] > │ if v74 then │
23:19:42 #15586 [Debug] > │ │
23:19:42 #15587 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.25, -0.002323615860218842, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15588 [Debug] > │ 0.0) │
23:19:42 #15589 [Debug] > │ │
23:19:42 #15590 [Debug] > │ else │
23:19:42 #15591 [Debug] > │ │
23:19:42 #15592 [Debug] > │ let v76 : float = v73 - 1.0 │
23:19:42 #15593 [Debug] > │ │
23:19:42 #15594 [Debug] > │ let v77 : bool = v76 = 0.0 │
23:19:42 #15595 [Debug] > │ │
23:19:42 #15596 [Debug] > │ if v77 then │
23:19:42 #15597 [Debug] > │ │
23:19:42 #15598 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.26, -0.0029389262614623636, 0.0, 0.0, 0.0, │
23:19:42 #15599 [Debug] > │ 0.0, 0.0) │
23:19:42 #15600 [Debug] > │ │
23:19:42 #15601 [Debug] > │ else │
23:19:42 #15602 [Debug] > │ │
23:19:42 #15603 [Debug] > │ let v79 : float = v76 - 1.0 │
23:19:42 #15604 [Debug] > │ │
23:19:42 #15605 [Debug] > │ let v80 : bool = v79 = 0.0 │
23:19:42 #15606 [Debug] > │ │
23:19:42 #15607 [Debug] > │ if v80 then │
23:19:42 #15608 [Debug] > │ │
23:19:42 #15609 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.27, -0.003492556826244686, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15610 [Debug] > │ 0.0) │
23:19:42 #15611 [Debug] > │ │
23:19:42 #15612 [Debug] > │ else │
23:19:42 #15613 [Debug] > │ │
23:19:42 #15614 [Debug] > │ let v82 : float = v79 - 1.0 │
23:19:42 #15615 [Debug] > │ │
23:19:42 #15616 [Debug] > │ let v83 : bool = v82 = 0.0 │
23:19:42 #15617 [Debug] > │ │
23:19:42 #15618 [Debug] > │ if v83 then │
23:19:42 #15619 [Debug] > │ │
23:19:42 #15620 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.28, -0.003972888398568771, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15621 [Debug] > │ 0.0) │
23:19:42 #15622 [Debug] > │ │
23:19:42 #15623 [Debug] > │ else │
23:19:42 #15624 [Debug] > │ │
23:19:42 #15625 [Debug] > │ let v85 : float = v82 - 1.0 │
23:19:42 #15626 [Debug] > │ │
23:19:42 #15627 [Debug] > │ let v86 : bool = v85 = 0.0 │
23:19:42 #15628 [Debug] > │ │
23:19:42 #15629 [Debug] > │ if v86 then │
23:19:42 #15630 [Debug] > │ │
23:19:42 #15631 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.29000000000000004, -0.00436984016313259, 0.0, │
23:19:42 #15632 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15633 [Debug] > │ │
23:19:42 #15634 [Debug] > │ else │
23:19:42 #15635 [Debug] > │ │
23:19:42 #15636 [Debug] > │ let v88 : float = v85 - 1.0 │
23:19:42 #15637 [Debug] > │ │
23:19:42 #15638 [Debug] > │ let v89 : bool = v88 = 0.0 │
23:19:42 #15639 [Debug] > │ │
23:19:42 #15640 [Debug] > │ if v89 then │
23:19:42 #15641 [Debug] > │ │
23:19:42 #15642 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.3, -0.004675081213427074, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15643 [Debug] > │ 0.0) │
23:19:42 #15644 [Debug] > │ │
23:19:42 #15645 [Debug] > │ else │
23:19:42 #15646 [Debug] > │ │
23:19:42 #15647 [Debug] > │ let v91 : float = v88 - 1.0 │
23:19:42 #15648 [Debug] > │ │
23:19:42 #15649 [Debug] > │ let v92 : bool = v91 = 0.0 │
23:19:42 #15650 [Debug] > │ │
23:19:42 #15651 [Debug] > │ if v92 then │
23:19:42 #15652 [Debug] > │ │
23:19:42 #15653 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.31, -0.004882205394146359, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15654 [Debug] > │ 0.0) │
23:19:42 #15655 [Debug] > │ │
23:19:42 #15656 [Debug] > │ else │
23:19:42 #15657 [Debug] > │ │
23:19:42 #15658 [Debug] > │ let v94 : float = v91 - 1.0 │
23:19:42 #15659 [Debug] > │ │
23:19:42 #15660 [Debug] > │ let v95 : bool = v94 = 0.0 │
23:19:42 #15661 [Debug] > │ │
23:19:42 #15662 [Debug] > │ if v95 then │
23:19:42 #15663 [Debug] > │ │
23:19:42 #15664 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.32, -0.004986865748457456, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15665 [Debug] > │ 0.0) │
23:19:42 #15666 [Debug] > │ │
23:19:42 #15667 [Debug] > │ else │
23:19:42 #15668 [Debug] > │ │
23:19:42 #15669 [Debug] > │ let v97 : float = v94 - 1.0 │
23:19:42 #15670 [Debug] > │ │
23:19:42 #15671 [Debug] > │ let v98 : bool = v97 = 0.0 │
23:19:42 #15672 [Debug] > │ │
23:19:42 #15673 [Debug] > │ if v98 then │
23:19:42 #15674 [Debug] > │ │
23:19:42 #15675 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.33, -0.004986865748457456, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15676 [Debug] > │ 0.0) │
23:19:42 #15677 [Debug] > │ │
23:19:42 #15678 [Debug] > │ else │
23:19:42 #15679 [Debug] > │ │
23:19:42 #15680 [Debug] > │ let v100 : float = v97 - 1.0 │
23:19:42 #15681 [Debug] > │ │
23:19:42 #15682 [Debug] > │ let v101 : bool = v100 = 0.0 │
23:19:42 #15683 [Debug] > │ │
23:19:42 #15684 [Debug] > │ if v101 then │
23:19:42 #15685 [Debug] > │ │
23:19:42 #15686 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.34, -0.004882205394146361, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15687 [Debug] > │ 0.0) │
23:19:42 #15688 [Debug] > │ │
23:19:42 #15689 [Debug] > │ else │
23:19:42 #15690 [Debug] > │ │
23:19:42 #15691 [Debug] > │ let v103 : float = v100 - 1.0 │
23:19:42 #15692 [Debug] > │ │
23:19:42 #15693 [Debug] > │ let v104 : bool = v103 = 0.0 │
23:19:42 #15694 [Debug] > │ │
23:19:42 #15695 [Debug] > │ if v104 then │
23:19:42 #15696 [Debug] > │ │
23:19:42 #15697 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.35000000000000003, -0.004675081213427074, 0.0, │
23:19:42 #15698 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15699 [Debug] > │ │
23:19:42 #15700 [Debug] > │ else │
23:19:42 #15701 [Debug] > │ │
23:19:42 #15702 [Debug] > │ let v106 : float = v103 - 1.0 │
23:19:42 #15703 [Debug] > │ │
23:19:42 #15704 [Debug] > │ let v107 : bool = v106 = 0.0 │
23:19:42 #15705 [Debug] > │ │
23:19:42 #15706 [Debug] > │ if v107 then │
23:19:42 #15707 [Debug] > │ │
23:19:42 #15708 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.36000000000000004, -0.004369840163132589, 0.0, │
23:19:42 #15709 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15710 [Debug] > │ │
23:19:42 #15711 [Debug] > │ else │
23:19:42 #15712 [Debug] > │ │
23:19:42 #15713 [Debug] > │ let v109 : float = v106 - 1.0 │
23:19:42 #15714 [Debug] > │ │
23:19:42 #15715 [Debug] > │ let v110 : bool = v109 = 0.0 │
23:19:42 #15716 [Debug] > │ │
23:19:42 #15717 [Debug] > │ if v110 then │
23:19:42 #15718 [Debug] > │ │
23:19:42 #15719 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.37, -0.003972888398568774, 0.0, 0.0, 0.0, │
23:19:42 #15720 [Debug] > │ 0.0, 0.0) │
23:19:42 #15721 [Debug] > │ │
23:19:42 #15722 [Debug] > │ else │
23:19:42 #15723 [Debug] > │ │
23:19:42 #15724 [Debug] > │ let v112 : float = v109 - 1.0 │
23:19:42 #15725 [Debug] > │ │
23:19:42 #15726 [Debug] > │ let v113 : bool = v112 = 0.0 │
23:19:42 #15727 [Debug] > │ │
23:19:42 #15728 [Debug] > │ if v113 then │
23:19:42 #15729 [Debug] > │ │
23:19:42 #15730 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.38, -0.0034925568262446837, 0.0, 0.0, │
23:19:42 #15731 [Debug] > │ 0.0, 0.0, 0.0) │
23:19:42 #15732 [Debug] > │ │
23:19:42 #15733 [Debug] > │ else │
23:19:42 #15734 [Debug] > │ │
23:19:42 #15735 [Debug] > │ let v115 : float = v112 - 1.0 │
23:19:42 #15736 [Debug] > │ │
23:19:42 #15737 [Debug] > │ let v116 : bool = v115 = 0.0 │
23:19:42 #15738 [Debug] > │ │
23:19:42 #15739 [Debug] > │ if v116 then │
23:19:42 #15740 [Debug] > │ │
23:19:42 #15741 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.39, -0.002938926261462367, 0.0, │
23:19:42 #15742 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15743 [Debug] > │ │
23:19:42 #15744 [Debug] > │ else │
23:19:42 #15745 [Debug] > │ │
23:19:42 #15746 [Debug] > │ let v118 : float = v115 - 1.0 │
23:19:42 #15747 [Debug] > │ │
23:19:42 #15748 [Debug] > │ let v119 : bool = v118 = 0.0 │
23:19:42 #15749 [Debug] > │ │
23:19:42 #15750 [Debug] > │ if v119 then │
23:19:42 #15751 [Debug] > │ │
23:19:42 #15752 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.4, -0.002323615860218846, 0.0, │
23:19:42 #15753 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15754 [Debug] > │ │
23:19:42 #15755 [Debug] > │ else │
23:19:42 #15756 [Debug] > │ │
23:19:42 #15757 [Debug] > │ let v121 : float = v118 - 1.0 │
23:19:42 #15758 [Debug] > │ │
23:19:42 #15759 [Debug] > │ let v122 : bool = v121 = 0.0 │
23:19:42 #15760 [Debug] > │ │
23:19:42 #15761 [Debug] > │ if v122 then │
23:19:42 #15762 [Debug] > │ │
23:19:42 #15763 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.41000000000000003, │
23:19:42 #15764 [Debug] > │ -0.0016595392656426435, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15765 [Debug] > │ │
23:19:42 #15766 [Debug] > │ else │
23:19:42 #15767 [Debug] > │ │
23:19:42 #15768 [Debug] > │ let v124 : float = v121 - 1.0 │
23:19:42 #15769 [Debug] > │ │
23:19:42 #15770 [Debug] > │ let v125 : bool = v124 = 0.0 │
23:19:42 #15771 [Debug] > │ │
23:19:42 #15772 [Debug] > │ if v125 then │
23:19:42 #15773 [Debug] > │ │
23:19:42 #15774 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.42000000000000004, │
23:19:42 #15775 [Debug] > │ -0.0009606335867685414, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15776 [Debug] > │ │
23:19:42 #15777 [Debug] > │ else │
23:19:42 #15778 [Debug] > │ │
23:19:42 #15779 [Debug] > │ let v127 : float = v124 - 1.0 │
23:19:42 #15780 [Debug] > │ │
23:19:42 #15781 [Debug] > │ let v128 : bool = v127 = 0.0 │
23:19:42 #15782 [Debug] > │ │
23:19:42 #15783 [Debug] > │ if v128 then │
23:19:42 #15784 [Debug] > │ │
23:19:42 #15785 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.43, │
23:19:42 #15786 [Debug] > │ -0.00024156689762753724, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15787 [Debug] > │ │
23:19:42 #15788 [Debug] > │ else │
23:19:42 #15789 [Debug] > │ │
23:19:42 #15790 [Debug] > │ let v130 : float = v127 - 1.0 │
23:19:42 #15791 [Debug] > │ │
23:19:42 #15792 [Debug] > │ let v131 : bool = v130 = 0.0 │
23:19:42 #15793 [Debug] > │ │
23:19:42 #15794 [Debug] > │ if v131 then │
23:19:42 #15795 [Debug] > │ │
23:19:42 #15796 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.44, │
23:19:42 #15797 [Debug] > │ 0.0004825696045725713, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15798 [Debug] > │ │
23:19:42 #15799 [Debug] > │ else │
23:19:42 #15800 [Debug] > │ │
23:19:42 #15801 [Debug] > │ let v133 : float = v130 - 1.0 │
23:19:42 #15802 [Debug] > │ │
23:19:42 #15803 [Debug] > │ let v134 : bool = v133 = 0.0 │
23:19:42 #15804 [Debug] > │ │
23:19:42 #15805 [Debug] > │ if v134 then │
23:19:42 #15806 [Debug] > │ │
23:19:42 #15807 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.45, │
23:19:42 #15808 [Debug] > │ 0.0011965783214377866, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15809 [Debug] > │ │
23:19:42 #15810 [Debug] > │ else │
23:19:42 #15811 [Debug] > │ │
23:19:42 #15812 [Debug] > │ let v136 : float = v133 - 1.0 │
23:19:42 #15813 [Debug] > │ │
23:19:42 #15814 [Debug] > │ let v137 : bool = v136 = 0.0 │
23:19:42 #15815 [Debug] > │ │
23:19:42 #15816 [Debug] > │ if v137 then │
23:19:42 #15817 [Debug] > │ │
23:19:42 #15818 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.46, │
23:19:42 #15819 [Debug] > │ 0.0018854742084416021, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15820 [Debug] > │ │
23:19:42 #15821 [Debug] > │ else │
23:19:42 #15822 [Debug] > │ │
23:19:42 #15823 [Debug] > │ let v139 : float = v136 - 1.0 │
23:19:42 #15824 [Debug] > │ │
23:19:42 #15825 [Debug] > │ let v140 : bool = v139 = 0.0 │
23:19:42 #15826 [Debug] > │ │
23:19:42 #15827 [Debug] > │ if v140 then │
23:19:42 #15828 [Debug] > │ │
23:19:42 #15829 [Debug] > │ US0_1(0.0, 8.422578125E-06, │
23:19:42 #15830 [Debug] > │ 0.47000000000000003, 0.002534799269067953, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15831 [Debug] > │ │
23:19:42 #15832 [Debug] > │ else │
23:19:42 #15833 [Debug] > │ │
23:19:42 #15834 [Debug] > │ let v142 : float = v139 - 1.0 │
23:19:42 #15835 [Debug] > │ │
23:19:42 #15836 [Debug] > │ let v143 : bool = v142 = 0.0 │
23:19:42 #15837 [Debug] > │ │
23:19:42 #15838 [Debug] > │ if v143 then │
23:19:42 #15839 [Debug] > │ │
23:19:42 #15840 [Debug] > │ US0_1(0.0, 8.422578125E-06, │
23:19:42 #15841 [Debug] > │ 0.48000000000000004, 0.003130925987691568, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15842 [Debug] > │ │
23:19:42 #15843 [Debug] > │ else │
23:19:42 #15844 [Debug] > │ │
23:19:42 #15845 [Debug] > │ let v145 : float = v142 - │
23:19:42 #15846 [Debug] > │ 1.0 │
23:19:42 #15847 [Debug] > │ │
23:19:42 #15848 [Debug] > │ let v146 : bool = v145 = 0.0 │
23:19:42 #15849 [Debug] > │ │
23:19:42 #15850 [Debug] > │ if v146 then │
23:19:42 #15851 [Debug] > │ │
23:19:42 #15852 [Debug] > │ US0_1(0.0, │
23:19:42 #15853 [Debug] > │ 8.422578125E-06, 0.49, 0.0036613433329888622, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15854 [Debug] > │ │
23:19:42 #15855 [Debug] > │ else │
23:19:42 #15856 [Debug] > │ │
23:19:42 #15857 [Debug] > │ let v148 : float = v145 │
23:19:42 #15858 [Debug] > │ - 1.0 │
23:19:42 #15859 [Debug] > │ │
23:19:42 #15860 [Debug] > │ let v149 : bool = v148 = │
23:19:42 #15861 [Debug] > │ 0.0 │
23:19:42 #15862 [Debug] > │ │
23:19:42 #15863 [Debug] > │ if v149 then │
23:19:42 #15864 [Debug] > │ │
23:19:42 #15865 [Debug] > │ US0_1(0.0, │
23:19:42 #15866 [Debug] > │ 8.422578125E-06, 0.5, 0.0041149193294682815, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15867 [Debug] > │ │
23:19:42 #15868 [Debug] > │ else │
23:19:42 #15869 [Debug] > │ │
23:19:42 #15870 [Debug] > │ let v151 : float = │
23:19:42 #15871 [Debug] > │ v148 - 1.0 │
23:19:42 #15872 [Debug] > │ │
23:19:42 #15873 [Debug] > │ let v152 : bool = │
23:19:42 #15874 [Debug] > │ v151 = 0.0 │
23:19:42 #15875 [Debug] > │ │
23:19:42 #15876 [Debug] > │ if v152 then │
23:19:42 #15877 [Debug] > │ │
23:19:42 #15878 [Debug] > │ US0_1(0.0, │
23:19:42 #15879 [Debug] > │ 8.422578125E-06, 0.51, 0.0044821346864785195, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15880 [Debug] > │ │
23:19:42 #15881 [Debug] > │ else │
23:19:42 #15882 [Debug] > │ │
23:19:42 #15883 [Debug] > │ let v154 : float │
23:19:42 #15884 [Debug] > │ = v151 - 1.0 │
23:19:42 #15885 [Debug] > │ │
23:19:42 #15886 [Debug] > │ let v155 : bool │
23:19:42 #15887 [Debug] > │ = v154 = 0.0 │
23:19:42 #15888 [Debug] > │ │
23:19:42 #15889 [Debug] > │ if v155 then │
23:19:42 #15890 [Debug] > │ │
23:19:42 #15891 [Debug] > │ US0_1(0.0, │
23:19:42 #15892 [Debug] > │ 8.422578125E-06, 0.52, 0.004755282581475766, 0.0, 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15893 [Debug] > │ │
23:19:42 #15894 [Debug] > │ else │
23:19:42 #15895 [Debug] > │ │
23:19:42 #15896 [Debug] > │ let v157 : │
23:19:42 #15897 [Debug] > │ float = v154 - 1.0 │
23:19:42 #15898 [Debug] > │ │
23:19:42 #15899 [Debug] > │ let v158 : │
23:19:42 #15900 [Debug] > │ bool = v157 = 0.0 │
23:19:42 #15901 [Debug] > │ │
23:19:42 #15902 [Debug] > │ if v158 then │
23:19:42 #15903 [Debug] > │ │
23:19:42 #15904 [Debug] > │ │
23:19:42 #15905 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.53, 0.004928630404658255, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15906 [Debug] > │ 0.0) │
23:19:42 #15907 [Debug] > │ │
23:19:42 #15908 [Debug] > │ else │
23:19:42 #15909 [Debug] > │ │
23:19:42 #15910 [Debug] > │ let v160 │
23:19:42 #15911 [Debug] > │ : float = v157 - 1.0 │
23:19:42 #15912 [Debug] > │ │
23:19:42 #15913 [Debug] > │ let v161 │
23:19:42 #15914 [Debug] > │ : bool = v160 = 0.0 │
23:19:42 #15915 [Debug] > │ │
23:19:42 #15916 [Debug] > │ if v161 │
23:19:42 #15917 [Debug] > │ then │
23:19:42 #15918 [Debug] > │ │
23:19:42 #15919 [Debug] > │ │
23:19:42 #15920 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.54, 0.004998540070400965, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15921 [Debug] > │ 0.0) │
23:19:42 #15922 [Debug] > │ │
23:19:42 #15923 [Debug] > │ else │
23:19:42 #15924 [Debug] > │ │
23:19:42 #15925 [Debug] > │ let │
23:19:42 #15926 [Debug] > │ v163 : float = v160 - 1.0 │
23:19:42 #15927 [Debug] > │ │
23:19:42 #15928 [Debug] > │ let │
23:19:42 #15929 [Debug] > │ v164 : bool = v163 = 0.0 │
23:19:42 #15930 [Debug] > │ │
23:19:42 #15931 [Debug] > │ if │
23:19:42 #15932 [Debug] > │ v164 then │
23:19:42 #15933 [Debug] > │ │
23:19:42 #15934 [Debug] > │ │
23:19:42 #15935 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.55, 0.004963544370490271, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15936 [Debug] > │ 0.0) │
23:19:42 #15937 [Debug] > │ │
23:19:42 #15938 [Debug] > │ else │
23:19:42 #15939 [Debug] > │ │
23:19:42 #15940 [Debug] > │ │
23:19:42 #15941 [Debug] > │ let v166 : float = v163 - 1.0 │
23:19:42 #15942 [Debug] > │ │
23:19:42 #15943 [Debug] > │ │
23:19:42 #15944 [Debug] > │ let v167 : bool = v166 = 0.0 │
23:19:42 #15945 [Debug] > │ │
23:19:42 #15946 [Debug] > │ │
23:19:42 #15947 [Debug] > │ if v167 then │
23:19:42 #15948 [Debug] > │ │
23:19:42 #15949 [Debug] > │ │
23:19:42 #15950 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.56, 0.004824377766717758, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15951 [Debug] > │ 0.0) │
23:19:42 #15952 [Debug] > │ │
23:19:42 #15953 [Debug] > │ │
23:19:42 #15954 [Debug] > │ else │
23:19:42 #15955 [Debug] > │ │
23:19:42 #15956 [Debug] > │ │
23:19:42 #15957 [Debug] > │ let v169 : float = v166 - 1.0 │
23:19:42 #15958 [Debug] > │ │
23:19:42 #15959 [Debug] > │ │
23:19:42 #15960 [Debug] > │ let v170 : bool = v169 = 0.0 │
23:19:42 #15961 [Debug] > │ │
23:19:42 #15962 [Debug] > │ │
23:19:42 #15963 [Debug] > │ if v170 then │
23:19:42 #15964 [Debug] > │ │
23:19:42 #15965 [Debug] > │ │
23:19:42 #15966 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.5700000000000001, 0.004583960976582912, 0.0, │
23:19:42 #15967 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15968 [Debug] > │ │
23:19:42 #15969 [Debug] > │ │
23:19:42 #15970 [Debug] > │ else │
23:19:42 #15971 [Debug] > │ │
23:19:42 #15972 [Debug] > │ │
23:19:42 #15973 [Debug] > │ let v172 : float = v169 - 1.0 │
23:19:42 #15974 [Debug] > │ │
23:19:42 #15975 [Debug] > │ │
23:19:42 #15976 [Debug] > │ let v173 : bool = v172 = 0.0 │
23:19:42 #15977 [Debug] > │ │
23:19:42 #15978 [Debug] > │ │
23:19:42 #15979 [Debug] > │ if v173 then │
23:19:42 #15980 [Debug] > │ │
23:19:42 #15981 [Debug] > │ │
23:19:42 #15982 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.5800000000000001, 0.004247339675607605, 0.0, │
23:19:42 #15983 [Debug] > │ 0.0, 0.0, 0.0, 0.0) │
23:19:42 #15984 [Debug] > │ │
23:19:42 #15985 [Debug] > │ │
23:19:42 #15986 [Debug] > │ else │
23:19:42 #15987 [Debug] > │ │
23:19:42 #15988 [Debug] > │ │
23:19:42 #15989 [Debug] > │ let v175 : float = v172 - 1.0 │
23:19:42 #15990 [Debug] > │ │
23:19:42 #15991 [Debug] > │ │
23:19:42 #15992 [Debug] > │ let v176 : bool = v175 = 0.0 │
23:19:42 #15993 [Debug] > │ │
23:19:42 #15994 [Debug] > │ │
23:19:42 #15995 [Debug] > │ if v176 then │
23:19:42 #15996 [Debug] > │ │
23:19:42 #15997 [Debug] > │ │
23:19:42 #15998 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.59, 0.003821578602729245, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #15999 [Debug] > │ 0.0) │
23:19:42 #16000 [Debug] > │ │
23:19:42 #16001 [Debug] > │ │
23:19:42 #16002 [Debug] > │ else │
23:19:42 #16003 [Debug] > │ │
23:19:42 #16004 [Debug] > │ │
23:19:42 #16005 [Debug] > │ let v178 : float = v175 - 1.0 │
23:19:42 #16006 [Debug] > │ │
23:19:42 #16007 [Debug] > │ │
23:19:42 #16008 [Debug] > │ let v179 : bool = v178 = 0.0 │
23:19:42 #16009 [Debug] > │ │
23:19:42 #16010 [Debug] > │ │
23:19:42 #16011 [Debug] > │ if v179 then │
23:19:42 #16012 [Debug] > │ │
23:19:42 #16013 [Debug] > │ │
23:19:42 #16014 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.6, 0.0033156132912039783, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #16015 [Debug] > │ 0.0) │
23:19:42 #16016 [Debug] > │ │
23:19:42 #16017 [Debug] > │ │
23:19:42 #16018 [Debug] > │ else │
23:19:42 #16019 [Debug] > │ │
23:19:42 #16020 [Debug] > │ │
23:19:42 #16021 [Debug] > │ let v181 : float = v178 - 1.0 │
23:19:42 #16022 [Debug] > │ │
23:19:42 #16023 [Debug] > │ │
23:19:42 #16024 [Debug] > │ let v182 : bool = v181 = 0.0 │
23:19:42 #16025 [Debug] > │ │
23:19:42 #16026 [Debug] > │ │
23:19:42 #16027 [Debug] > │ if v182 then │
23:19:42 #16028 [Debug] > │ │
23:19:42 #16029 [Debug] > │ │
23:19:42 #16030 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.61, 0.0027400625367733585, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #16031 [Debug] > │ 0.0) │
23:19:42 #16032 [Debug] > │ │
23:19:42 #16033 [Debug] > │ │
23:19:42 #16034 [Debug] > │ else │
23:19:42 #16035 [Debug] > │ │
23:19:42 #16036 [Debug] > │ │
23:19:42 #16037 [Debug] > │ let v184 : float = v181 - 1.0 │
23:19:42 #16038 [Debug] > │ │
23:19:42 #16039 [Debug] > │ │
23:19:42 #16040 [Debug] > │ let v185 : bool = v184 = 0.0 │
23:19:42 #16041 [Debug] > │ │
23:19:42 #16042 [Debug] > │ │
23:19:42 #16043 [Debug] > │ if v185 then │
23:19:42 #16044 [Debug] > │ │
23:19:42 #16045 [Debug] > │ │
23:19:42 #16046 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.62, 0.0021070055388626528, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #16047 [Debug] > │ 0.0) │
23:19:42 #16048 [Debug] > │ │
23:19:42 #16049 [Debug] > │ │
23:19:42 #16050 [Debug] > │ else │
23:19:42 #16051 [Debug] > │ │
23:19:42 #16052 [Debug] > │ │
23:19:42 #16053 [Debug] > │ let v187 : float = v184 - 1.0 │
23:19:42 #16054 [Debug] > │ │
23:19:42 #16055 [Debug] > │ │
23:19:42 #16056 [Debug] > │ let v188 : bool = v187 = 0.0 │
23:19:42 #16057 [Debug] > │ │
23:19:42 #16058 [Debug] > │ │
23:19:42 #16059 [Debug] > │ if v188 then │
23:19:42 #16060 [Debug] > │ │
23:19:42 #16061 [Debug] > │ │
23:19:42 #16062 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.63, 0.001429728391993452, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #16063 [Debug] > │ 0.0) │
23:19:42 #16064 [Debug] > │ │
23:19:42 #16065 [Debug] > │ │
23:19:42 #16066 [Debug] > │ else │
23:19:42 #16067 [Debug] > │ │
23:19:42 #16068 [Debug] > │ │
23:19:42 #16069 [Debug] > │ let v190 : float = v187 - 1.0 │
23:19:42 #16070 [Debug] > │ │
23:19:42 #16071 [Debug] > │ │
23:19:42 #16072 [Debug] > │ let v191 : bool = v190 = 0.0 │
23:19:42 #16073 [Debug] > │ │
23:19:42 #16074 [Debug] > │ │
23:19:42 #16075 [Debug] > │ if v191 then │
23:19:42 #16076 [Debug] > │ │
23:19:42 #16077 [Debug] > │ │
23:19:42 #16078 [Debug] > │ US0_1(0.0, 8.422578125E-06, 0.64, 0.0007224452478461016, 0.0, 0.0, 0.0, 0.0, │
23:19:42 #16079 [Debug] > │ 0.0) │
23:19:42 #16080 [Debug] > │ │
23:19:42 #16081 [Debug] > │ │
23:19:42 #16082 [Debug] > │ else │
23:19:42 #16083 [Debug] > │ │
23:19:42 #16084 [Debug] > │ │
23:19:42 #16085 [Debug] > │ let v193 : float = v190 - 1.0 │
23:19:42 #16086 [Debug] > │ │
23:19:42 #16087 [Debug] > │ │
23:19:42 #16088 [Debug] > │ US0_0 │
23:19:42 #16089 [Debug] > │ match v258 with │
23:19:42 #16090 [Debug] > │ | US0_0 -> (* None *) │
23:19:42 #16091 [Debug] > │ v0 │
23:19:42 #16092 [Debug] > │ | US0_1(v259, v260, v261, v262, v263, v264, v265, v266, v267) -> (* Some │
23:19:42 #16093 [Debug] > │ *) │
23:19:42 #16094 [Debug] > │ let v268 : UH2 = UH2_0(v261, v262, v263, v0) │
23:19:42 #16095 [Debug] > │ let v269 : float = v1 + 1.0 │
23:19:42 #16096 [Debug] > │ method2(v268, v269) │
23:19:42 #16097 [Debug] > │ and method3 (v0 : UH2, v1 : UH2) : UH2 = │
23:19:42 #16098 [Debug] > │ match v0 with │
23:19:42 #16099 [Debug] > │ | UH2_0(v2, v3, v4, v5) -> (* Cons *) │
23:19:42 #16100 [Debug] > │ let v6 : UH2 = UH2_0(v2, v3, v4, v1) │
23:19:42 #16101 [Debug] > │ method3(v5, v6) │
23:19:42 #16102 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:42 #16103 [Debug] > │ v1 │
23:19:42 #16104 [Debug] > │ and method4 (v0 : UH2, v1 : UH2) : UH2 = │
23:19:42 #16105 [Debug] > │ match v0 with │
23:19:42 #16106 [Debug] > │ | UH2_0(v2, v3, v4, v5) -> (* Cons *) │
23:19:42 #16107 [Debug] > │ let v6 : UH2 = method4(v5, v1) │
23:19:42 #16108 [Debug] > │ UH2_0(v2, v3, v4, v6) │
23:19:42 #16109 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:42 #16110 [Debug] > │ v1 │
23:19:42 #16111 [Debug] > │ and method5 (v0 : UH2, v1 : UH3) : UH3 = │
23:19:42 #16112 [Debug] > │ match v0 with │
23:19:42 #16113 [Debug] > │ | UH2_0(v2, v3, v4, v5) -> (* Cons *) │
23:19:42 #16114 [Debug] > │ let v6 : UH3 = method5(v5, v1) │
23:19:42 #16115 [Debug] > │ UH3_0(v2, v3, v6) │
23:19:42 #16116 [Debug] > │ | UH2_1 -> (* Nil *) │
23:19:42 #16117 [Debug] > │ v1 │
23:19:42 #16118 [Debug] > │ and method6 (v0 : UH3, v1 : UH0, v2 : UH0) : struct (UH0 * UH0) = │
23:19:42 #16119 [Debug] > │ match v0 with │
23:19:42 #16120 [Debug] > │ | UH3_0(v3, v4, v5) -> (* Cons *) │
23:19:42 #16121 [Debug] > │ let v6 : UH0 = UH0_0(v3, v1) │
23:19:42 #16122 [Debug] > │ let v7 : UH0 = UH0_0(v4, v2) │
23:19:42 #16123 [Debug] > │ method6(v5, v6, v7) │
23:19:42 #16124 [Debug] > │ | UH3_1 -> (* Nil *) │
23:19:42 #16125 [Debug] > │ struct (v1, v2) │
23:19:42 #16126 [Debug] > │ and method7 (v0 : UH0, v1 : UH0) : UH0 = │
23:19:42 #16127 [Debug] > │ match v0 with │
23:19:42 #16128 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:42 #16129 [Debug] > │ let v4 : UH0 = UH0_0(v2, v1) │
23:19:42 #16130 [Debug] > │ method7(v3, v4) │
23:19:42 #16131 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:42 #16132 [Debug] > │ v1 │
23:19:42 #16133 [Debug] > │ and method9 (v0 : UH0, v1 : int32) : int32 = │
23:19:42 #16134 [Debug] > │ match v0 with │
23:19:42 #16135 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:42 #16136 [Debug] > │ let v4 : int32 = v1 + 1 │
23:19:42 #16137 [Debug] > │ method9(v3, v4) │
23:19:42 #16138 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:42 #16139 [Debug] > │ v1 │
23:19:42 #16140 [Debug] > │ and method10 (v0 : (float []), v1 : UH0, v2 : int32) : int32 = │
23:19:42 #16141 [Debug] > │ match v1 with │
23:19:42 #16142 [Debug] > │ | UH0_0(v3, v4) -> (* Cons *) │
23:19:42 #16143 [Debug] > │ v0.[int v2] <- v3 │
23:19:42 #16144 [Debug] > │ let v5 : int32 = v2 + 1 │
23:19:42 #16145 [Debug] > │ method10(v0, v4, v5) │
23:19:42 #16146 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:42 #16147 [Debug] > │ v2 │
23:19:42 #16148 [Debug] > │ and method8 (v0 : UH0) : (float []) = │
23:19:42 #16149 [Debug] > │ let v1 : int32 = 0 │
23:19:42 #16150 [Debug] > │ let v2 : int32 = method9(v0, v1) │
23:19:42 #16151 [Debug] > │ let v3 : (float []) = Array.zeroCreate<float> (v2) │
23:19:42 #16152 [Debug] > │ let v4 : int32 = 0 │
23:19:42 #16153 [Debug] > │ let v5 : int32 = method10(v3, v0, v4) │
23:19:42 #16154 [Debug] > │ v3 │
23:19:42 #16155 [Debug] > │ and method1 (v0 : UH0, v1 : UH1) : UH1 = │
23:19:42 #16156 [Debug] > │ match v0 with │
23:19:42 #16157 [Debug] > │ | UH0_0(v2, v3) -> (* Cons *) │
23:19:42 #16158 [Debug] > │ let v4 : UH1 = method1(v3, v1) │
23:19:42 #16159 [Debug] > │ let v5 : UH2 = UH2_1 │
23:19:42 #16160 [Debug] > │ let v6 : float = 0.0 │
23:19:42 #16161 [Debug] > │ let v7 : UH2 = method2(v5, v6) │
23:19:42 #16162 [Debug] > │ let v8 : UH2 = UH2_1 │
23:19:42 #16163 [Debug] > │ let v9 : UH2 = method3(v7, v8) │
23:19:42 #16164 [Debug] > │ let v10 : float = 0.65 │
23:19:42 #16165 [Debug] > │ let v11 : float = 0.0 │
23:19:42 #16166 [Debug] > │ let v12 : float = 0.0 │
23:19:42 #16167 [Debug] > │ let v13 : UH2 = UH2_1 │
23:19:42 #16168 [Debug] > │ let v14 : UH2 = UH2_0(v10, v11, v12, v13) │
23:19:42 #16169 [Debug] > │ let v15 : UH2 = method4(v9, v14) │
23:19:42 #16170 [Debug] > │ let v16 : UH3 = UH3_1 │
23:19:42 #16171 [Debug] > │ let v17 : UH3 = method5(v15, v16) │
23:19:42 #16172 [Debug] > │ let v18 : float = 0.0 │
23:19:42 #16173 [Debug] > │ let v19 : UH0 = UH0_1 │
23:19:42 #16174 [Debug] > │ let v20 : UH0 = UH0_0(v18, v19) │
23:19:42 #16175 [Debug] > │ let v21 : float = 0.0 │
23:19:42 #16176 [Debug] > │ let v22 : UH0 = UH0_1 │
23:19:42 #16177 [Debug] > │ let v23 : UH0 = UH0_0(v21, v22) │
23:19:42 #16178 [Debug] > │ let struct (v24 : UH0, v25 : UH0) = method6(v17, v20, v23) │
23:19:42 #16179 [Debug] > │ let v26 : UH0 = UH0_1 │
23:19:42 #16180 [Debug] > │ let v27 : UH0 = method7(v24, v26) │
23:19:42 #16181 [Debug] > │ let v28 : UH0 = UH0_1 │
23:19:42 #16182 [Debug] > │ let v29 : UH0 = method7(v25, v28) │
23:19:42 #16183 [Debug] > │ let v30 : (float []) = method8(v27) │
23:19:42 #16184 [Debug] > │ let v31 : (float []) = method8(v29) │
23:19:42 #16185 [Debug] > │ UH1_0(v30, v31, v4) │
23:19:42 #16186 [Debug] > │ | UH0_1 -> (* Nil *) │
23:19:42 #16187 [Debug] > │ v1 │
23:19:42 #16188 [Debug] > │ and method12 (v0 : UH1, v1 : int32) : int32 = │
23:19:42 #16189 [Debug] > │ match v0 with │
23:19:42 #16190 [Debug] > │ | UH1_0(v2, v3, v4) -> (* Cons *) │
23:19:42 #16191 [Debug] > │ let v5 : int32 = v1 + 1 │
23:19:42 #16192 [Debug] > │ method12(v4, v5) │
23:19:42 #16193 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:42 #16194 [Debug] > │ v1 │
23:19:42 #16195 [Debug] > │ and method13 (v0 : (struct ((float []) * (float [])) []), v1 : UH1, v2 : │
23:19:42 #16196 [Debug] > │ int32) : int32 = │
23:19:42 #16197 [Debug] > │ match v1 with │
23:19:42 #16198 [Debug] > │ | UH1_0(v3, v4, v5) -> (* Cons *) │
23:19:42 #16199 [Debug] > │ v0.[int v2] <- struct (v3, v4) │
23:19:42 #16200 [Debug] > │ let v6 : int32 = v2 + 1 │
23:19:42 #16201 [Debug] > │ method13(v0, v5, v6) │
23:19:42 #16202 [Debug] > │ | UH1_1 -> (* Nil *) │
23:19:42 #16203 [Debug] > │ v2 │
23:19:42 #16204 [Debug] > │ and method11 (v0 : UH1) : (struct ((float []) * (float [])) []) = │
23:19:42 #16205 [Debug] > │ let v1 : int32 = 0 │
23:19:42 #16206 [Debug] > │ let v2 : int32 = method12(v0, v1) │
23:19:42 #16207 [Debug] > │ let v3 : (struct ((float []) * (float [])) []) = Array.zeroCreate<struct │
23:19:42 #16208 [Debug] > │ ((float []) * (float []))> (v2) │
23:19:42 #16209 [Debug] > │ let v4 : int32 = 0 │
23:19:42 #16210 [Debug] > │ let v5 : int32 = method13(v3, v0, v4) │
23:19:42 #16211 [Debug] > │ v3 │
23:19:42 #16212 [Debug] > │ and method0 () : struct (string * string * string * (struct (string * (float │
23:19:42 #16213 [Debug] > │ []) * (float [])) [])) = │
23:19:42 #16214 [Debug] > │ let v0 : float = 0.0 │
23:19:42 #16215 [Debug] > │ let v1 : float = 1.0 │
23:19:42 #16216 [Debug] > │ let v2 : float = 2.0 │
23:19:42 #16217 [Debug] > │ let v3 : float = 3.0 │
23:19:42 #16218 [Debug] > │ let v4 : float = 4.0 │
23:19:42 #16219 [Debug] > │ let v5 : float = 5.0 │
23:19:42 #16220 [Debug] > │ let v6 : float = 6.0 │
23:19:42 #16221 [Debug] > │ let v7 : float = 7.0 │
23:19:42 #16222 [Debug] > │ let v8 : float = 8.0 │
23:19:42 #16223 [Debug] > │ let v9 : float = 9.0 │
23:19:42 #16224 [Debug] > │ let v10 : UH0 = UH0_1 │
23:19:42 #16225 [Debug] > │ let v11 : UH0 = UH0_0(v9, v10) │
23:19:42 #16226 [Debug] > │ let v12 : UH0 = UH0_0(v8, v11) │
23:19:42 #16227 [Debug] > │ let v13 : UH0 = UH0_0(v7, v12) │
23:19:42 #16228 [Debug] > │ let v14 : UH0 = UH0_0(v6, v13) │
23:19:42 #16229 [Debug] > │ let v15 : UH0 = UH0_0(v5, v14) │
23:19:42 #16230 [Debug] > │ let v16 : UH0 = UH0_0(v4, v15) │
23:19:42 #16231 [Debug] > │ let v17 : UH0 = UH0_0(v3, v16) │
23:19:42 #16232 [Debug] > │ let v18 : UH0 = UH0_0(v2, v17) │
23:19:42 #16233 [Debug] > │ let v19 : UH0 = UH0_0(v1, v18) │
23:19:42 #16234 [Debug] > │ let v20 : UH0 = UH0_0(v0, v19) │
23:19:42 #16235 [Debug] > │ let v21 : UH1 = UH1_1 │
23:19:42 #16236 [Debug] > │ let v22 : UH1 = method1(v20, v21) │
23:19:42 #16237 [Debug] > │ let v23 : (struct ((float []) * (float [])) []) = method11(v22) │
23:19:42 #16238 [Debug] > │ let struct (v24 : (float []), v25 : (float [])) = v23.[int 0] │
23:19:42 #16239 [Debug] > │ let v26 : string = $"{0}" │
23:19:42 #16240 [Debug] > │ let v27 : (struct (string * (float []) * (float [])) []) = [|struct │
23:19:42 #16241 [Debug] > │ (v26, v24, v25)|] │
23:19:42 #16242 [Debug] > │ let v28 : string = "wave" │
23:19:42 #16243 [Debug] > │ let v29 : string = "position (m)" │
23:19:42 #16244 [Debug] > │ let v30 : string = "displacement (m)" │
23:19:42 #16245 [Debug] > │ struct (v28, v29, v30, v27) │
23:19:42 #16246 [Debug] > │ method0() │
23:19:42 #16247 [Debug] > │ │
23:19:42 #16248 [Debug] > │ │
23:19:42 #16249 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:42 #16250 [Debug] >
23:19:42 #16251 [Debug] > ── markdown ────────────────────────────────────────────────────────────────────
23:19:42 #16252 [Debug] > ╭──────────────────────────────────────────────────────────────────────────────╮
23:19:42 #16253 [Debug] > │ ## end │
23:19:42 #16254 [Debug] > ╰──────────────────────────────────────────────────────────────────────────────╯
23:19:45 #16255 [Debug] > [NbConvertApp] Converting notebook physics.dib.ipynb to html
23:19:45 #16256 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
23:19:45 #16257 [Debug] > validate(nb)
23:19:46 #16258 [Debug] > C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
23:19:46 #16259 [Debug] > return _pygments_highlight(
23:19:48 #16260 [Debug] > [NbConvertApp] Writing 1155952 bytes to physics.dib.html
23:19:49 #16261 [Debug] executeAsync / exitCode: 0 / proc.Id: 79796 / output.Length: 1210429
23:19:49 #16262 [Debug] main / executeCommand / exitCode: 0
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: listm'.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: console.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: testing.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: am'.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: common.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: optionm'.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: seq.dib
23:19:49 #1 [Debug] writeDibCode / output: Spi / path: math.dib
23:19:49 #6 [Debug] parseDibCode / output: Spi / file: common.dib
23:19:49 #8 [Debug] parseDibCode / output: Spi / file: seq.dib
23:19:49 #3 [Debug] parseDibCode / output: Spi / file: listm'.dib
23:19:49 #5 [Debug] parseDibCode / output: Spi / file: am'.dib
23:19:49 #7 [Debug] parseDibCode / output: Spi / file: optionm'.dib
23:19:49 #4 [Debug] parseDibCode / output: Spi / file: testing.dib
23:19:49 #9 [Debug] parseDibCode / output: Spi / file: math.dib
23:19:49 #2 [Debug] parseDibCode / output: Spi / file: console.dib
23:19:49 #11 [Debug] writeDibCode / output: Spi / path: physics.dib
23:19:49 #11 [Debug] writeDibCode / output: Spi / path: util.dib
23:19:49 #13 [Debug] parseDibCode / output: Spi / file: util.dib
23:19:49 #12 [Debug] parseDibCode / output: Spi / file: physics.dib
In [ ]:
{ . "$ScriptDir/../apps/chat/build.ps1" } | Invoke-Block
Compiling chat v0.0.1 (C:\home\git\polyglot\apps\chat\contract) Finished release [optimized] target(s) in 11.42s ## 7 Compiling typenum v1.17.0 Compiling rustix v0.38.17 Compiling generic-array v0.14.7 Compiling crypto-common v0.1.6 Compiling block-buffer v0.10.4 Compiling inout v0.1.3 Compiling cipher v0.4.4 Compiling digest v0.10.7 Compiling hmac v0.12.1 Compiling sha2 v0.10.8 Compiling sha1 v0.10.6 Compiling aes v0.8.3 Compiling which v4.4.2 Compiling tempfile v3.8.0 Compiling pbkdf2 v0.11.0 Compiling prost-build v0.9.0 Compiling zip v0.6.6 Compiling is-terminal v0.4.9 Compiling colored v2.0.4 Compiling binary-install v0.2.0 Compiling cargo-near v0.3.1 Compiling near-sandbox-utils v0.7.0 Compiling near-workspaces v0.7.0 (https://github.com/near/workspaces-rs#bc208e91) Compiling tonic-build v0.6.2 Compiling opentelemetry-otlp v0.10.0 Compiling near-o11y v0.17.0 Compiling near-chain-configs v0.17.0 Compiling near-jsonrpc-primitives v0.17.0 Compiling near-jsonrpc-client v0.6.0 Compiling chat v0.0.1 (/mnt/c/home/git/polyglot/apps/chat/tests) Finished release [optimized] target(s) in 5m 04s Running `target/release/chat` new: ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5297202239742, }, transaction: ExecutionOutcome { transaction_hash: 92FR7s8C28qDfpN9oUMibHJ3dH9rKJqRqCofn3muq4HA, block_hash: Eup42vFrXNGpLd18L9FMVEdbXzyypp1p3nUq6By7N1sr, logs: [], receipt_ids: [ Fkb4HG8akA3P1jdcwhrWqjivmXBMvbd2ovrrnWdnTuQ3, ], gas_burnt: NearGas { inner: 2427927707802, }, tokens_burnt: 242792770780200000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessReceiptId(Fkb4HG8akA3P1jdcwhrWqjivmXBMvbd2ovrrnWdnTuQ3), }, receipts: [ ExecutionOutcome { transaction_hash: Fkb4HG8akA3P1jdcwhrWqjivmXBMvbd2ovrrnWdnTuQ3, block_hash: Eup42vFrXNGpLd18L9FMVEdbXzyypp1p3nUq6By7N1sr, logs: [], receipt_ids: [ Ht9HVF58Z8WUhh5YX5MH5rA3EhoEqCvxL2PSYCTTzLAZ, ], gas_burnt: NearGas { inner: 2646091969440, }, tokens_burnt: 264609196944000000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: Ht9HVF58Z8WUhh5YX5MH5rA3EhoEqCvxL2PSYCTTzLAZ, block_hash: 5urK3vrjgXPJYNkiJ92rJmesydZzWHyLEnTVCN83RjQm, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.003538531096147656 outcome (success: true): outcome_gas_burnt_usd: 0.001621855708811736 outcome_tokens_burnt_usd: 0.001621855708811736 outcome (success: true): outcome_gas_burnt_usd: 0.0017675894355859202 outcome_tokens_burnt_usd: 0.0017675894355859202 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5294316372448, }, transaction: ExecutionOutcome { transaction_hash: 9ZzDPRCDnK88mU7wyQjJu1H6RyhBQcdbGjQ1YcdcFCd9, block_hash: D6enUjrXq3YhYPnCnogGBMN8p9FbxRbKASzfC1cBegUQ, logs: [], receipt_ids: [ 2PTi74uBmGh3cMQhBFAgqaGnNCrXWTxxTskb89gBN8AE, ], gas_burnt: NearGas { inner: 2427972426482, }, tokens_burnt: 242797242648200000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessReceiptId(2PTi74uBmGh3cMQhBFAgqaGnNCrXWTxxTskb89gBN8AE), }, receipts: [ ExecutionOutcome { transaction_hash: 2PTi74uBmGh3cMQhBFAgqaGnNCrXWTxxTskb89gBN8AE, block_hash: D6enUjrXq3YhYPnCnogGBMN8p9FbxRbKASzfC1cBegUQ, logs: [ "claim_alias / alias: \"\" / account_id: AccountId(\n \"dev-20231009032529-34156128109783\",\n) / timestamp: 1696821931917734941", ], receipt_ids: [ 3daedB8nCvmWdJVzysqyb5Kvj9CpAGHsxYN7E3QNDKA8, ], gas_burnt: NearGas { inner: 2643161383466, }, tokens_burnt: 264316138346600000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), }, ExecutionOutcome { transaction_hash: 3daedB8nCvmWdJVzysqyb5Kvj9CpAGHsxYN7E3QNDKA8, block_hash: 3herhguRmbrgCGK7w5zH8hWh6mtkaQzoexLciBNwZi5d, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ], status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), } total_gas_burnt_usd: 0.003536603336795264 outcome (success: true): outcome_gas_burnt_usd: 0.001621885580889976 outcome_tokens_burnt_usd: 0.0016218855808899759 outcome (success: false): outcome_gas_burnt_usd: 0.001765631804155288 outcome_tokens_burnt_usd: 0.001765631804155288 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 dev_create_account(account1): Account { id: AccountId( "dev-20231009032532-24459569426199", ), } generate_cid_borsh(account1): ViewResultDetails { result: [ 59, 0, 0, 0, 98, 97, 102, 107, 114, 101, 105, 104, 100, 119, 100, 99, 101, 102, 103, 104, 52, 100, 113, 107, 106, 118, 54, 55, 117, 122, 99, 109, 119, 55, 111, 106, 101, 101, 54, 120, 101, 100, 122, 100, 101, 116, 111, 106, 117, 122, 106, 101, 118, 116, 101, 110, 120, 113, 117, 118, 121, 107, 117, ], logs: [], } claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5921610375085, }, transaction: ExecutionOutcome { transaction_hash: 9T52NAsiNy2xqGkKnMH8GwDVzPNBGHGLR3VSpZGBUZpU, block_hash: AEWq688yLYsp8eBZGvSNfE4EtGBse3ZNfqZ895R21YB6, logs: [], receipt_ids: [ 4vVUKUZxvVSZP3nBEWaKR5KsmGxbY62vKdV6eiaHzRzo, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: 242798584208600000000, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessReceiptId(4vVUKUZxvVSZP3nBEWaKR5KsmGxbY62vKdV6eiaHzRzo), }, receipts: [ ExecutionOutcome { transaction_hash: 4vVUKUZxvVSZP3nBEWaKR5KsmGxbY62vKdV6eiaHzRzo, block_hash: 9bqtQW2Tr1Dvi41i5xCyr6AUAhuTCvQ6P1YLubbwWdmr, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821933744980771", ], receipt_ids: [ 4sxP3NS1qarwCASk66nSosa23LdJQpbHG4cqmRMHBocr, ], gas_burnt: NearGas { inner: 3270441970499, }, tokens_burnt: 327044197049900000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 4sxP3NS1qarwCASk66nSosa23LdJQpbHG4cqmRMHBocr, block_hash: 8JVSjnXur69cEyB1kpy2n6SDyQNHJ9mpWTBpocZPgvni, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.00395563573055678 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.001621894542513448 outcome (success: true): outcome_gas_burnt_usd: 0.002184655236293332 outcome_tokens_burnt_usd: 0.002184655236293332 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5563610915440, }, transaction: ExecutionOutcome { transaction_hash: 6pvAh6qtUW8FyXN2eAJm21G9acCqapKXsH8AdhGBhNBH, block_hash: HtCCk2j3iQqzG9GYs1sEvg5m4hugqu1BknUCsLyow7K2, logs: [], receipt_ids: [ BNFswYouMKx5myGXepWH2T4weAC9L1w2kx3PnmmRrZYp, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: 242798584208600000000, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessReceiptId(BNFswYouMKx5myGXepWH2T4weAC9L1w2kx3PnmmRrZYp), }, receipts: [ ExecutionOutcome { transaction_hash: BNFswYouMKx5myGXepWH2T4weAC9L1w2kx3PnmmRrZYp, block_hash: 7XweA3LV7LzeD55pbNHywhFkEWH1nuj9eR4skdKgEKyy, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821934758064976", "Alias already claimed", ], receipt_ids: [ HQsTv84oFZVM9UqrDcGR2aq3XJNpPYu6VzZhdouCJHhF, ], gas_burnt: NearGas { inner: 2912442510854, }, tokens_burnt: 291244251085400000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: HQsTv84oFZVM9UqrDcGR2aq3XJNpPYu6VzZhdouCJHhF, block_hash: 5yX7WTWcaozm6PxYqp2vTeXMZeE2YyxJPu5f4nfU97Th, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.00371649209151392 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.001621894542513448 outcome (success: true): outcome_gas_burnt_usd: 0.001945511597250472 outcome_tokens_burnt_usd: 0.001945511597250472 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1696821933744980771, 0, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20231009032532-24459569426199", ): ( 1696821933744980771, 0, ), }, ) dev_create_account(account2): Account { id: AccountId( "dev-20231009032535-44234373086413", ), } claim_alias(alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6029622110641, }, transaction: ExecutionOutcome { transaction_hash: 2puXA6N53cTAJcfdkdKQrVTxRvvubPfLWX58Gt5cpqp4, block_hash: 49UozmG3Q6NkpXaJkFsWq93Fe7sxEx4Tndm4ZVNdvZnW, logs: [], receipt_ids: [ FHExDDC7YiKx6jbcmEdrG38Jhwf8hCLcn5meMcG9wQ6x, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: 242798584208600000000, executor_id: AccountId( "dev-20231009032535-44234373086413", ), status: SuccessReceiptId(FHExDDC7YiKx6jbcmEdrG38Jhwf8hCLcn5meMcG9wQ6x), }, receipts: [ ExecutionOutcome { transaction_hash: FHExDDC7YiKx6jbcmEdrG38Jhwf8hCLcn5meMcG9wQ6x, block_hash: 3L8zdyQ6HbyASLKk4ygGthf8uCwDCi5dX4WzXNfmhoEu, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20231009032535-44234373086413\",\n) / timestamp: 1696821936784450974", ], receipt_ids: [ 2HbsP9icQXpfTVmdkEB95T3D93Gt2A4HDWMjgUQkZvP6, ], gas_burnt: NearGas { inner: 3378453706055, }, tokens_burnt: 337845370605500000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 2HbsP9icQXpfTVmdkEB95T3D93Gt2A4HDWMjgUQkZvP6, block_hash: 4gLFikGNG66kqoPTkTEsJ73zUX1UTMquMLceDZQwVXGQ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032535-44234373086413", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004027787569908188 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.001621894542513448 outcome (success: true): outcome_gas_burnt_usd: 0.0022568070756447396 outcome_tokens_burnt_usd: 0.0022568070756447396 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias2", ( 1696821936784450974, 0, ), ), ) get_alias_map_borsh(alias2): Some( { AccountId( "dev-20231009032535-44234373086413", ): ( 1696821936784450974, 0, ), }, ) claim_alias(account2, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6093377486164, }, transaction: ExecutionOutcome { transaction_hash: CdWV3YzTaHFD4Uc7g3bYeDgnBGhy7723rzen1pHTPYNv, block_hash: H6gCzn2iTni7VxYS7ZWHrkaYnNsX7dF2AgF8GkEJU8Ej, logs: [], receipt_ids: [ HH7paNThAWerSdrDBh6VNxyq1WiiFkwf7ETk4dUcjrg7, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: 242798584208600000000, executor_id: AccountId( "dev-20231009032535-44234373086413", ), status: SuccessReceiptId(HH7paNThAWerSdrDBh6VNxyq1WiiFkwf7ETk4dUcjrg7), }, receipts: [ ExecutionOutcome { transaction_hash: HH7paNThAWerSdrDBh6VNxyq1WiiFkwf7ETk4dUcjrg7, block_hash: 6du5qk2v2EVQaEwdsS5LkhA4PrwunoaT3HzZorqi3Er1, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231009032535-44234373086413\",\n) / timestamp: 1696821937798255794", ], receipt_ids: [ 8ainrG88M79rXZkjV5d9rz7deRkjfp96AA3nNqk3BDs2, ], gas_burnt: NearGas { inner: 3442209081578, }, tokens_burnt: 344220908157800000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 8ainrG88M79rXZkjV5d9rz7deRkjfp96AA3nNqk3BDs2, block_hash: BbG416H4fv6YEW6P5TMCg5whb4XHSzpd52SiRiR6fBmt, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032535-44234373086413", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004070376160757552 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.001621894542513448 outcome (success: true): outcome_gas_burnt_usd: 0.002299395666494104 outcome_tokens_burnt_usd: 0.0022993956664941043 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias1", ( 1696821937798255794, 1, ), ), ) get_alias_map(account2, alias1): Some( { AccountId( "dev-20231009032532-24459569426199", ): ( 1696821933744980771, 0, ), AccountId( "dev-20231009032535-44234373086413", ): ( 1696821937798255794, 1, ), }, ) get_alias_map(account2, alias2): Some( {}, ) claim_alias(account1, alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6089161684420, }, transaction: ExecutionOutcome { transaction_hash: EfyTXom79KztAd5Ek5SBWwZwWSPb7QNPU1dPCeSQYKkB, block_hash: BEoRcYZfTDr77LpSiigxYCvkzctDDGhjGoqn6Ryv6W7D, logs: [], receipt_ids: [ AiYaxuqMXoJPyJceUNtu8biTBN5bky6U73hsmLjaXpYg, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: 242798584208600000000, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessReceiptId(AiYaxuqMXoJPyJceUNtu8biTBN5bky6U73hsmLjaXpYg), }, receipts: [ ExecutionOutcome { transaction_hash: AiYaxuqMXoJPyJceUNtu8biTBN5bky6U73hsmLjaXpYg, block_hash: GsxcfPJQfdevFqCAq4wCa4pM9LysLBiotrww9fsCRtMZ, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821938810896005", ], receipt_ids: [ Hf2vPGzBrv1RhKZDmwpNKxpeNgvNnt6h37ssZHxt87Ag, ], gas_burnt: NearGas { inner: 3437993279834, }, tokens_burnt: 343799327983400000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: Hf2vPGzBrv1RhKZDmwpNKxpeNgvNnt6h37ssZHxt87Ag, block_hash: HkoqN6zd3ASqiGhBc2oek5Hfzn8PTEzW9cdNsKcx5ZK3, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0040675600051925595 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.001621894542513448 outcome (success: true): outcome_gas_burnt_usd: 0.002296579510929112 outcome_tokens_burnt_usd: 0.002296579510929112 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias2", ( 1696821938810896005, 0, ), ), ) get_alias_map(account1, alias2): Some( { AccountId( "dev-20231009032532-24459569426199", ): ( 1696821938810896005, 0, ), }, ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20231009032535-44234373086413", ): ( 1696821937798255794, 1, ), }, ) claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6093377486164, }, transaction: ExecutionOutcome { transaction_hash: HKzsY4daQ7xTjNTktnMKgfBPhBbXw5JersGSrcPGoNhG, block_hash: 48qPNaj4Lt4U2NydPXKYUWKhidkthYc69oyReW8S2h9E, logs: [], receipt_ids: [ DD2bDKNuVt8CY2mrSFTTDkRHEf5ZgGppBj9mXqpn7Uqy, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: 242798584208600000000, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessReceiptId(DD2bDKNuVt8CY2mrSFTTDkRHEf5ZgGppBj9mXqpn7Uqy), }, receipts: [ ExecutionOutcome { transaction_hash: DD2bDKNuVt8CY2mrSFTTDkRHEf5ZgGppBj9mXqpn7Uqy, block_hash: G7yP8AyfcF38mtJViVDLoSuKj61xUUiWGxQpcLCFSxr5, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20231009032532-24459569426199\",\n) / timestamp: 1696821939824099414", ], receipt_ids: [ DAtrYLoRgXCXfGUitXWHoMxp6vU2Zi9iar4y7g8FdsG4, ], gas_burnt: NearGas { inner: 3442209081578, }, tokens_burnt: 344220908157800000000, executor_id: AccountId( "dev-20231009032529-34156128109783", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: DAtrYLoRgXCXfGUitXWHoMxp6vU2Zi9iar4y7g8FdsG4, block_hash: 8wwadN12hYM9Umj9kopgCpUPPJXcw8rfmeueNEs467YQ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009032532-24459569426199", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004070376160757552 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.001621894542513448 outcome (success: true): outcome_gas_burnt_usd: 0.002299395666494104 outcome_tokens_burnt_usd: 0.0022993956664941043 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1696821939824099414, 1, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20231009032535-44234373086413", ): ( 1696821937798255794, 0, ), AccountId( "dev-20231009032532-24459569426199", ): ( 1696821939824099414, 1, ), }, ) get_alias_map(account1, alias2): Some( {}, ) Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme Rebuilding... Done in 433ms. 2023-10-09T03:25:56.058412Z INFO 📦 starting build 2023-10-09T03:25:56.059548Z INFO spawning asset pipelines 2023-10-09T03:25:57.391329Z INFO building chat 2023-10-09T03:25:57.391361Z INFO copying & hashing icon path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\public\\favicon.ico" 2023-10-09T03:25:57.391398Z INFO copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\deps\\hyperui\\public\\components.css" 2023-10-09T03:25:57.391379Z INFO copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\target\\tailwind.css" 2023-10-09T03:25:57.393198Z INFO finished copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\target\\tailwind.css" 2023-10-09T03:25:57.393268Z INFO finished copying & hashing css path="\\\\?\\C:\\home\\git\\polyglot\\deps\\hyperui\\public\\components.css" 2023-10-09T03:25:57.395276Z INFO finished copying & hashing icon path="\\\\?\\C:\\home\\git\\polyglot\\apps\\chat\\ui\\public\\favicon.ico" Finished release [optimized] target(s) in 3.56s 2023-10-09T03:26:01.110106Z INFO fetching cargo artifacts 2023-10-09T03:26:01.646039Z INFO processing WASM for chat 2023-10-09T03:26:01.679299Z INFO calling wasm-bindgen for chat 2023-10-09T03:26:01.938066Z INFO copying generated wasm-bindgen artifacts 2023-10-09T03:26:02.286777Z INFO using system installed binary app=wasm-opt version=version_113 2023-10-09T03:26:02.287009Z INFO calling wasm-opt 2023-10-09T03:26:15.718166Z INFO copying generated wasm-opt artifacts 2023-10-09T03:26:15.724911Z INFO applying new distribution 2023-10-09T03:26:15.731000Z INFO ✅ success Build completed! Filename Size dist\favicon-f1d578da7a480441.ico 16.28 KiB dist\chat-872511b5788b18e4_bg.wasm 913.23 KiB dist\chat-872511b5788b18e4.js 48.96 KiB dist/tailwind-1bb93245bd22a37f-AWLY2BE5.css 6.93 KiB dist/components-61317960c9987b2e-YWB32TZ5.css 78.01 KiB dist/1-ZMXKILQ7.js 23.51 KiB dist\index.html 1.18 KiB —————————— 1.06 MiB Lockfile is up to date, resolution step is skipped Already up to date Done in 1.5s > polyglot@ test:e2e C:\home\git\polyglot\apps\chat\ui\e2e > playwright test INFO Accepting connections at http://localhost:3000 HTTP 10/8/2023 11:26:31 PM ::1 GET / HTTP 10/8/2023 11:26:31 PM ::1 Returned 200 in 137 ms Running 1 test using 1 worker [1/1] [Desktop Chrome] › test.spec.ts:3:5 › test HTTP 10/8/2023 11:26:36 PM ::1 GET / HTTP 10/8/2023 11:26:36 PM ::1 Returned 200 in 3 ms HTTP 10/8/2023 11:26:36 PM ::1 GET /tailwind-1bb93245bd22a37f-AWLY2BE5.css HTTP 10/8/2023 11:26:36 PM ::1 Returned 200 in 3 ms HTTP 10/8/2023 11:26:36 PM ::1 GET /chat-872511b5788b18e4_bg.wasm HTTP 10/8/2023 11:26:36 PM ::1 GET /1-ZMXKILQ7.js HTTP 10/8/2023 11:26:36 PM ::1 GET /components-61317960c9987b2e-YWB32TZ5.css HTTP 10/8/2023 11:26:36 PM ::1 Returned 200 in 5 ms HTTP 10/8/2023 11:26:36 PM ::1 Returned 200 in 6 ms HTTP 10/8/2023 11:26:36 PM ::1 Returned 200 in 14 ms 1 passed (12.1s) To open last HTML report run: npx playwright show-report
In [ ]:
{ . "$ScriptDir/../spiral/test/build.ps1" } | Invoke-Block
── pwsh ────────────────────────────────────────────────────────────────────────
. ../../scripts/nbs_header.ps1
. ../../scripts/core.ps1
── pwsh ────────────────────────────────────────────────────────────────────────
{ . ../../apps/spiral/dist/Supervisor$(GetExecutableSuffix) --buildfile test.spi
test.fsx --timeout 10000 } | Invoke-Block
╭─[ 3.81s - stdout ]───────────────────────────────────────────────────────────╮
│ 23:26:47 #1 [Debug] runWithTimeoutAsync / timeout: 60 │
│ 23:26:47 #2 [Debug] executeAsync / options: { Command = │
│ "dotnet "C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral │
│ Language 2\artifacts\bin\The Spiral Language 2\release\Spiral.dll" │
│ port=13805" │
│ WorkingDirectory = None │
│ CancellationToken = Some System.Threading.CancellationToken │
│ OnLine = Some <fun:main@398-297> } │
│ 23:26:47 #3 [Debug] > pwd: C:\home\git\polyglot\spiral\test │
│ 23:26:47 #4 [Debug] > dll_path: │
│ C:\home\git\polyglot\deps\The-Spiral-Language\The Spiral Language │
│ 2\artifacts\bin\The Spiral Language 2\release │
│ 23:26:48 #5 [Debug] runWithTimeoutAsync / timeout: 500 │
│ 23:26:48 #6 [Verbose] waitForPortAccess / port: 13805 / retry: 0 │
│ 23:26:48 #7 [Debug] sendJson / port: 13805 / json: {"Ping":true} / │
│ result.Length: │
│ 23:26:48 #8 [Verbose] awaitCompiler / Ping / result: Some(null) / port: │
│ 13805 / retry: 0 │
│ 23:26:48 #9 [Debug] > Server bound to: http://localhost:13805 │
│ 23:26:49 #10 [Debug] buildFile / fsxContent: / errors: [] │
│ 23:26:49 #11 [Debug] sendJson / port: 13805 / json: │
│ {"FileOpen":{"spiText":"inl app () =\n \u0022test\u0022 |\u003E │
│ console.write_line\n 0i32\n\ninl main () =\n print_static │
│ \u0022\u003Ctest\u003E\u0022\n\n app\n |\u003E dyn\n |\u003E │
│ ignore\n\n print_static │
│ \u0022\u003C/test\u003E\u0022\n","uri":"file:///C:\\home\\git\\polyglot\\spi │
│ ral\\test\\test.spi"}} / result.Length: │
│ 23:26:49 #12 [Debug] sendJson / port: 13805 / json: │
│ {"BuildFile":{"backend":"Fsharp","uri":"file:///C:\\home\\git\\polyglot\\spi │
│ ral\\test\\test.spi"}} / result.Length: │
│ 23:26:49 #13 [Debug] > Building C:\home\git\polyglot\spiral\test\test.spi │
│ 23:26:50 #14 [Debug] > <test> │
│ 23:26:50 #15 [Debug] > </test> │
│ 23:26:50 #16 [Debug] buildFile / fsxContent: Some(let rec closure0 () () : │
│ int32 = │
│ let v0 : string = "test" │
│ System.Console.WriteLine v0 │
│ 0 │
│ let v0 : (unit -> int32) = closure0() │
│ () │
│ ) / errors: [] │
│ 23:26:50 #17 [Debug] watchWithFilter / Disposing watch stream / fullPath: │
│ C:\home\git\polyglot\spiral\test / filter: FileName, LastWrite │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
dotnet fable --optimize --lang rs --extension .rs
╭─[ 3.85s - stdout ]───────────────────────────────────────────────────────────╮
│ Fable 4.2.1: F# to Rust compiler (status: alpha) │
│ │
│ Thanks to the contributor! @johlrich │
│ Stand with Ukraine! https://standwithukraine.com.ua/ │
│ │
│ Parsing test.fsproj... │
│ Retrieving project options from cache, in case of issues run `dotnet fable │
│ clean` or try `--noCache` option. │
│ Project and references (1 source files) parsed in 240ms │
│ │
│ Started Fable compilation... │
│ Fable compilation finished in 1832ms │
│ │
│ .\test.fsx(6,0): (6,2) warning FABLE: For Rust, support for F# static and │
│ module do bindings is disabled by default. It can be enabled with the │
│ 'static_do_bindings' feature. Use at your own risk! │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
cargo fmt --
── pwsh ────────────────────────────────────────────────────────────────────────
cargo build --release
╭─[ 5.43s - stdout ]───────────────────────────────────────────────────────────╮
│ warning: C:\home\git\polyglot\Cargo.toml: unused manifest key: │
│ lib.members │
│ Compiling test v0.0.1 (C:\home\git\polyglot\spiral\test) │
│ warning: unused import: `info` │
│ --> spiral\test\./main.rs:190:15 │
│ | │
│ 190 | use tracing::{info, Level}; │
│ | ^^^^ │
│ | │
│ = note: `#[warn(unused_imports)]` on by default │
│ │
│ warning: associated items `new`, `add_item`, and `remove_item` are │
│ never used │
│ --> spiral\test\./main.rs:46:8 │
│ | │
│ 45 | impl Cart { │
│ | --------- associated items in this implementation │
│ 46 | fn new() -> Cart { │
│ | ^^^ │
│ ... │
│ 50 | fn add_item(&mut self, item: Item) { │
│ | ^^^^^^^^ │
│ ... │
│ 56 | fn remove_item(&mut self, item: &Item) { │
│ | ^^^^^^^^^^^ │
│ | │
│ = note: `#[warn(dead_code)]` on by default │
│ │
│ warning: function `parse_comment` is never used │
│ --> spiral\test\./main.rs:124:4 │
│ | │
│ 124 | fn parse_comment(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_string` is never used │
│ --> spiral\test\./main.rs:130:4 │
│ | │
│ 130 | fn parse_string(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^ │
│ │
│ warning: function `parse_identifier` is never used │
│ --> spiral\test\./main.rs:145:4 │
│ | │
│ 145 | fn parse_identifier(input: &str) -> IResult<&str, SpiralToken> {[ │
│ 0m │
│ | ^^^^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_integer` is never used │
│ --> spiral\test\./main.rs:157:4 │
│ | │
│ 157 | fn parse_integer(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_operator` is never used │
│ --> spiral\test\./main.rs:165:4 │
│ | │
│ 165 | fn parse_operator(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^^^^ │
│ │
│ warning: function `parse_token` is never used │
│ --> spiral\test\./main.rs:170:4 │
│ | │
│ 170 | fn parse_token(input: &str) -> IResult<&str, SpiralToken> { │
│ | ^^^^^^^^^^^ │
│ │
│ warning: function `format_token` is never used │
│ --> spiral\test\./main.rs:180:4 │
│ | │
│ 180 | fn format_token(token: &SpiralToken) -> String { │
│ | ^^^^^^^^^^^^ │
│ │
│ warning: function `parse_expression` is never used │
│ --> spiral\test\./main.rs:213:4 │
│ | │
│ 213 | fn parse_expression(input: &str) -> IResult<&str, SpiralToken> {[ │
│ 0m │
│ | ^^^^^^^^^^^^^^^^ │
│ │
│ warning: `test` (bin "test") generated 10 warnings (run `cargo fix │
│ --bin "test"` to apply 1 suggestion) │
│ Finished release [optimized] target(s) in 5.27s │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
$env:RUST_LOG="info"
{ cargo test --release } | Invoke-Block
╭─[ 5.19s - stdout ]───────────────────────────────────────────────────────────╮
│ warning: C:\home\git\polyglot\Cargo.toml: unused manifest key: │
│ lib.members │
│ Compiling test v0.0.1 (C:\home\git\polyglot\spiral\test) │
│ Finished release [optimized] target(s) in 4.78s │
│ Running unittests main.rs │
│ (C:\home\git\polyglot\target\release\deps\test-4de965843ca9c39f.exe) │
│ │
│ running 3 tests │
│ test test_parse_number ... ok │
│ 2023-10-09T03:27:05.607820Z INFO test: │
│ input=Integer(129214504785045342) │
│ 2023-10-09T03:27:05.607926Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.608054Z INFO test: │
│ input=Identifier("j2St768fMRP7CS5UJa4374") │
│ 2023-10-09T03:27:05.608122Z INFO test: │
│ input=Identifier("f0md2LE5k1nsw4n32yR08i519EyW8kLY0") │
│ 2023-10-09T03:27:05.608194Z INFO test: │
│ input=Identifier("PonQVfr1NPRozlpzjIV4Ta") │
│ 2023-10-09T03:27:05.608248Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.608328Z INFO test: │
│ input=Identifier("mGhUr8IvYDV5qtIk2qv7A") │
│ 2023-10-09T03:27:05.608429Z INFO test: │
│ input=Comment("c'}JrOk>L(/mS;Q4VYW%Nk%En3%]:{=") │
│ 2023-10-09T03:27:05.608590Z INFO test: │
│ input=Integer(-7203611000523392178) │
│ 2023-10-09T03:27:05.608675Z INFO test: │
│ input=Integer(1972465373825685917) │
│ 2023-10-09T03:27:05.608744Z INFO test: │
│ input=Integer(-65983087242222797) │
│ 2023-10-09T03:27:05.608789Z INFO test: │
│ input=Integer(-4876918167636051770) │
│ 2023-10-09T03:27:05.608841Z INFO test: │
│ input=Integer(-6647974548274979337) │
│ 2023-10-09T03:27:05.608876Z INFO test: │
│ input=Integer(-5212923694836829077) │
│ 2023-10-09T03:27:05.608937Z INFO test: │
│ input=Comment("Q?/*#z{0bP^=y%p.SS5[')Y:w") │
│ 2023-10-09T03:27:05.608991Z INFO test: │
│ input=Integer(-7890657187402160181) │
│ 2023-10-09T03:27:05.609039Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.609103Z INFO test: │
│ input=Identifier("Lx3K7n89I95c5aeVW65yPsHDILm4") │
│ 2023-10-09T03:27:05.609156Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.609211Z INFO test: input=Comment("Z&") │
│ 2023-10-09T03:27:05.609277Z INFO test: │
│ input=StringLiteral("/=2Q]'R%==R*`!?=*Z}_/") │
│ 2023-10-09T03:27:05.609331Z INFO test: │
│ input=Integer(4299467540735752368) │
│ 2023-10-09T03:27:05.609382Z INFO test: │
│ input=Identifier("Ci") │
│ 2023-10-09T03:27:05.609425Z INFO test: │
│ input=Comment(".YB") │
│ 2023-10-09T03:27:05.609517Z INFO test: │
│ input=StringLiteral("W*='ioMp/*S.w=w7l`}Hs/b") │
│ 2023-10-09T03:27:05.609619Z INFO test: │
│ input=Identifier("I0Ntk1eCQNv8IjXz2") │
│ 2023-10-09T03:27:05.609789Z INFO test: │
│ input=StringLiteral("~-*q~`{Dl&K") │
│ 2023-10-09T03:27:05.609884Z INFO test: │
│ input=Integer(-687367630168499807) │
│ 2023-10-09T03:27:05.609930Z INFO test: │
│ input=Integer(-8261078191514036451) │
│ 2023-10-09T03:27:05.609978Z INFO test: │
│ input=StringLiteral("5&P1Tj%%i3`'&") │
│ 2023-10-09T03:27:05.610026Z INFO test: │
│ input=Comment("5Yq5'/>wh_/\\({?/$'P//j\"p`") │
│ 2023-10-09T03:27:05.610064Z INFO test: │
│ input=Comment("wrL*L%:\\[<oq_^`V.<x|?b/7{]ti") │
│ 2023-10-09T03:27:05.610093Z INFO test: │
│ input=Comment("j8_@\\'") │
│ 2023-10-09T03:27:05.610127Z INFO test: │
│ input=Identifier("HuFB08P3W3B0KgdxMchux4qdoOzTMN") │
│ 2023-10-09T03:27:05.610162Z INFO test: │
│ input=Integer(-2108656949509292309) │
│ 2023-10-09T03:27:05.610199Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.610256Z INFO test: │
│ input=StringLiteral("&..$=1r&a'/$i>?<`") │
│ 2023-10-09T03:27:05.610310Z INFO test: │
│ input=Identifier("d9aQBsgzr") │
│ 2023-10-09T03:27:05.610356Z INFO test: │
│ input=Integer(7432142715800698125) │
│ 2023-10-09T03:27:05.610384Z INFO test: input=Operator("-") │
│ 2023-10-09T03:27:05.610417Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.610456Z INFO test: input=Operator("(") │
│ 2023-10-09T03:27:05.610510Z INFO test: │
│ input=StringLiteral("[c{:&<?7 2J%.@'&") │
│ 2023-10-09T03:27:05.610573Z INFO test: │
│ input=Identifier("MALVP13KYho9b88in") │
│ 2023-10-09T03:27:05.610655Z INFO test: │
│ input=Comment("?{v=|I@`A'^b'`<%/?,T/:") │
│ 2023-10-09T03:27:05.610707Z INFO test: │
│ input=Identifier("Q7Y") │
│ 2023-10-09T03:27:05.610788Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.610877Z INFO test: │
│ input=Identifier("zxCwmoZsx5lyHj37zWU") │
│ 2023-10-09T03:27:05.610932Z INFO test: │
│ input=Comment("=Z<,L4.CKy0\"") │
│ 2023-10-09T03:27:05.610977Z INFO test: │
│ input=Integer(-4036257429473349570) │
│ 2023-10-09T03:27:05.611011Z INFO test: │
│ input=Integer(7610242456579816750) │
│ 2023-10-09T03:27:05.611190Z INFO test: │
│ input=StringLiteral("V|l$[9<.T=_D:9_S[") │
│ 2023-10-09T03:27:05.611260Z INFO test: │
│ input=Comment("wT*+{4`") │
│ 2023-10-09T03:27:05.611297Z INFO test: │
│ input=Integer(-2461936850882242540) │
│ 2023-10-09T03:27:05.611341Z INFO test: │
│ input=Comment("`'dK3.9);&*\"8{H {2>o9<C\"BtN(A/`H") │
│ 2023-10-09T03:27:05.611397Z INFO test: │
│ input=StringLiteral(".*6>{hY%olx") │
│ 2023-10-09T03:27:05.611427Z INFO test: │
│ input=Integer(-1835798016081383577) │
│ 2023-10-09T03:27:05.611472Z INFO test: │
│ input=StringLiteral("T/|!K$_'Ke&A:d") │
│ 2023-10-09T03:27:05.611512Z INFO test: │
│ input=Integer(-749601149563974773) │
│ 2023-10-09T03:27:05.611597Z INFO test: │
│ input=Identifier("HbZYbI0IiYFxSamLJiip3") │
│ 2023-10-09T03:27:05.611661Z INFO test: │
│ input=StringLiteral("wB'") │
│ 2023-10-09T03:27:05.611702Z INFO test: │
│ input=Integer(4088577214337939270) │
│ 2023-10-09T03:27:05.611739Z INFO test: input=Operator("*") │
│ 2023-10-09T03:27:05.611767Z INFO test: input=Operator("-") │
│ 2023-10-09T03:27:05.611823Z INFO test: │
│ input=Comment("\\$rMo:H$<)\\Sy`br") │
│ 2023-10-09T03:27:05.611895Z INFO test: │
│ input=Comment("\"cJ\\Gu^*L'fMqM)-:%{r") │
│ 2023-10-09T03:27:05.611955Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.612006Z INFO test: input=Operator("*") │
│ 2023-10-09T03:27:05.612093Z INFO test: input=Operator("(") │
│ 2023-10-09T03:27:05.612189Z INFO test: │
│ input=Integer(-8446375695124193009) │
│ 2023-10-09T03:27:05.612263Z INFO test: │
│ input=Identifier("XQ961rGwbF") │
│ 2023-10-09T03:27:05.612304Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.612351Z INFO test: │
│ input=StringLiteral("sT)'z'RO") │
│ 2023-10-09T03:27:05.612474Z INFO test: │
│ input=Comment("z`4c+P)<?Mn0J\"7/:G\\KNc*%:?RyW%Fo") │
│ 2023-10-09T03:27:05.612520Z INFO test: │
│ input=Comment("'z]") │
│ 2023-10-09T03:27:05.612551Z INFO test: │
│ input=Integer(-508188143672764050) │
│ 2023-10-09T03:27:05.612583Z INFO test: │
│ input=Identifier("ADu51TiW0H950A2FVJT") │
│ 2023-10-09T03:27:05.612702Z INFO test: │
│ input=Comment("(SiZ`&-&&._qipbGg") │
│ 2023-10-09T03:27:05.612762Z INFO test: │
│ input=Integer(8667389546227549445) │
│ 2023-10-09T03:27:05.612796Z INFO test: │
│ input=StringLiteral(":'|Y*G$?:JB") │
│ 2023-10-09T03:27:05.612828Z INFO test: │
│ input=StringLiteral("@(?Dw#P,/*zr'I") │
│ 2023-10-09T03:27:05.612855Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.612881Z INFO test: │
│ input=Comment(")*:w*&EKYzC#\"n") │
│ 2023-10-09T03:27:05.612902Z INFO test: │
│ input=Integer(-1591956956275690090) │
│ 2023-10-09T03:27:05.612944Z INFO test: │
│ input=StringLiteral("SQnwX%'``.Xo.Q") │
│ 2023-10-09T03:27:05.612972Z INFO test: │
│ input=StringLiteral("{eNdL/&%l?Gt'") │
│ 2023-10-09T03:27:05.612993Z INFO test: │
│ input=Integer(9025926780127667722) │
│ 2023-10-09T03:27:05.613023Z INFO test: │
│ input=Comment("hyt_}\"M{`%/i32Uxw1b}&\"&|$?") │
│ 2023-10-09T03:27:05.613049Z INFO test: │
│ input=Integer(648047330224795826) │
│ 2023-10-09T03:27:05.613076Z INFO test: │
│ input=Comment("\">@8bL.\"?q!`&L]W") │
│ 2023-10-09T03:27:05.613104Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.613127Z INFO test: │
│ input=Integer(2328309736432989110) │
│ 2023-10-09T03:27:05.613160Z INFO test: │
│ input=StringLiteral("&%YT.A#]4{J2?s(j*={") │
│ 2023-10-09T03:27:05.613189Z INFO test: │
│ input=Identifier("wegXR409H") │
│ 2023-10-09T03:27:05.613224Z INFO test: │
│ input=Identifier("pKYq4cx84") │
│ 2023-10-09T03:27:05.613339Z INFO test: │
│ input=StringLiteral(".u3jDUtHGF7'^;F/G+wPqC?Uhv`") │
│ 2023-10-09T03:27:05.613428Z INFO test: │
│ input=StringLiteral("R%)L-62$k|kA]<*[<<") │
│ 2023-10-09T03:27:05.613511Z INFO test: │
│ input=Integer(-7704762293039421179) │
│ 2023-10-09T03:27:05.613575Z INFO test: │
│ input=Comment("D%u.T*o?:Zm\"3ZA?*e/t#= K") │
│ 2023-10-09T03:27:05.613657Z INFO test: │
│ input=Identifier("w1TW87wRhdXcyzvr5KN1waxvyDrOz0") │
│ 2023-10-09T03:27:05.613767Z INFO test: │
│ input=StringLiteral("'*@%|") │
│ 2023-10-09T03:27:05.613840Z INFO test: │
│ input=Comment("N9{z<H&/9%`KI%3`=C$//`~ T(E1K{M") │
│ 2023-10-09T03:27:05.613904Z INFO test: input=Operator("*") │
│ 2023-10-09T03:27:05.613958Z INFO test: │
│ input=StringLiteral("oD") │
│ 2023-10-09T03:27:05.613999Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.614086Z INFO test: │
│ input=StringLiteral("]4*AF`V<<Z") │
│ 2023-10-09T03:27:05.614180Z INFO test: │
│ input=StringLiteral("~m/&^{VL/=.?z") │
│ 2023-10-09T03:27:05.614231Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.614263Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.614342Z INFO test: │
│ input=StringLiteral("$+Q=<RYLMhKE gW<':") │
│ 2023-10-09T03:27:05.614391Z INFO test: │
│ input=Identifier("ejKefEKMa4FvBYZZecdPJ60C") │
│ 2023-10-09T03:27:05.614429Z INFO test: │
│ input=StringLiteral(",") │
│ 2023-10-09T03:27:05.614482Z INFO test: input=Comment(" │
│ JaMb{*$+$5=A?") │
│ 2023-10-09T03:27:05.614530Z INFO test: │
│ input=Identifier("vHMX5bGkpTqX5Q5L4LeI3LM") │
│ 2023-10-09T03:27:05.614622Z INFO test: │
│ input=StringLiteral("HN_-N&40B%:3cfGT~kn'%!") │
│ 2023-10-09T03:27:05.614784Z INFO test: input=Comment("X%Kk │
│ NeH2\"K#:&/G/d{oSL#\"QI") │
│ 2023-10-09T03:27:05.614858Z INFO test: │
│ input=Comment("K5XORpycX<\\a<4m .|'\\/qGi_U") │
│ 2023-10-09T03:27:05.614895Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.614922Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.614948Z INFO test: │
│ input=Comment("%R.`g/j1") │
│ 2023-10-09T03:27:05.614968Z INFO test: │
│ input=Integer(-2224299129553422083) │
│ 2023-10-09T03:27:05.615004Z INFO test: │
│ input=Comment("ILI<$,J\\{y)t{'+>{`Z'ku:Xq9$") │
│ 2023-10-09T03:27:05.615056Z INFO test: │
│ input=Comment("w]/\\R(bQ@R+VU$Y$\\4WV") │
│ 2023-10-09T03:27:05.615079Z INFO test: │
│ input=Integer(-5492415381469125118) │
│ 2023-10-09T03:27:05.615098Z INFO test: │
│ input=Integer(6008970063932687965) │
│ 2023-10-09T03:27:05.615123Z INFO test: │
│ input=StringLiteral("~e<*'@/zO<<=") │
│ 2023-10-09T03:27:05.615149Z INFO test: │
│ input=StringLiteral("j'W7I|G") │
│ 2023-10-09T03:27:05.615195Z INFO test: │
│ input=Identifier("Toq9Xf5Ftrihe5A1mawHn018cnDI0NO") │
│ 2023-10-09T03:27:05.615223Z INFO test: │
│ input=Comment("e_<L,S?Tr.=\\B") │
│ 2023-10-09T03:27:05.615257Z INFO test: │
│ input=Identifier("e50YP4JQoYz8gtkB2DqAIn2L9bXkoai2c") │
│ 2023-10-09T03:27:05.615280Z INFO test: input=Operator("(") │
│ 2023-10-09T03:27:05.615301Z INFO test: │
│ input=Comment("mO\"p") │
│ 2023-10-09T03:27:05.615320Z INFO test: │
│ input=Integer(7034000290745617660) │
│ 2023-10-09T03:27:05.615349Z INFO test: │
│ input=StringLiteral("gH!B&?$") │
│ 2023-10-09T03:27:05.615395Z INFO test: │
│ input=Integer(5118791007870673022) │
│ 2023-10-09T03:27:05.615472Z INFO test: │
│ input=StringLiteral("5%z&t.&SbN$&a1'{?#w;<]`1gg{") │
│ 2023-10-09T03:27:05.615517Z INFO test: │
│ input=StringLiteral("*$y&,R.1{cq4._") │
│ 2023-10-09T03:27:05.615559Z INFO test: │
│ input=Comment("*?@lAhV(5Q`<n 8\\F<$r<zT") │
│ 2023-10-09T03:27:05.615583Z INFO test: │
│ input=Identifier("Bsi6y") │
│ 2023-10-09T03:27:05.615604Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.615621Z INFO test: │
│ input=Integer(-8904676726459464325) │
│ 2023-10-09T03:27:05.615659Z INFO test: │
│ input=StringLiteral("@?Kl/P^]HV3`~`WWi=%%gy).(N!/L**x") │
│ 2023-10-09T03:27:05.615688Z INFO test: │
│ input=StringLiteral("$=vfmK&~mmm!WeOay") │
│ 2023-10-09T03:27:05.615721Z INFO test: │
│ input=Identifier("JLw14QldyEPfUA112AjYz") │
│ 2023-10-09T03:27:05.615740Z INFO test: │
│ input=Integer(-2194335557414167689) │
│ 2023-10-09T03:27:05.615785Z INFO test: │
│ input=StringLiteral("O*=[F@<h{RJ'{&&$C'(KED6M[") │
│ 2023-10-09T03:27:05.615834Z INFO test: │
│ input=StringLiteral("|nmf&{`5") │
│ 2023-10-09T03:27:05.615885Z INFO test: │
│ input=StringLiteral("W29<z}$CY%/{#x;$8a6peCJC1:TfF") │
│ 2023-10-09T03:27:05.615913Z INFO test: │
│ input=Comment("Jr\"opN") │
│ 2023-10-09T03:27:05.615945Z INFO test: │
│ input=Identifier("r19QkpEYKaT70I2Y8QcmO5C2") │
│ 2023-10-09T03:27:05.615967Z INFO test: input=Comment("'") │
│ 2023-10-09T03:27:05.615985Z INFO test: │
│ input=Integer(-8857819966919574007) │
│ 2023-10-09T03:27:05.616018Z INFO test: │
│ input=Identifier("ngE4Yar2NKatIu5FZt4ap4Aqc946") │
│ 2023-10-09T03:27:05.616047Z INFO test: │
│ input=Identifier("pQ1s8jZ3bg0s9ezoKRlUv3IGZS") │
│ 2023-10-09T03:27:05.616080Z INFO test: │
│ input=Identifier("M0yWW4veNZaMFKjRmtL83m83VEPOR0An") │
│ 2023-10-09T03:27:05.616107Z INFO test: │
│ input=Identifier("Hh2gdg6") │
│ 2023-10-09T03:27:05.616125Z INFO test: │
│ input=Integer(6115327803577889352) │
│ 2023-10-09T03:27:05.616148Z INFO test: │
│ input=StringLiteral("X$?M,q`&'^") │
│ 2023-10-09T03:27:05.616170Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.616201Z INFO test: │
│ input=StringLiteral("BP {O`,X'Prn3+'@3/w=(4'") │
│ 2023-10-09T03:27:05.616224Z INFO test: input=Operator("-") │
│ 2023-10-09T03:27:05.616243Z INFO test: input=Operator("=") │
│ 2023-10-09T03:27:05.616263Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.616307Z INFO test: │
│ input=Identifier("Ws9xap8ori7Y4UPbQ0oe4Wxq") │
│ 2023-10-09T03:27:05.619273Z INFO test: │
│ input=StringLiteral("0$`W>7db$])smPQ{_F<]+:=") │
│ 2023-10-09T03:27:05.619330Z INFO test: │
│ input=Comment("hOh'2`.YX'** z/O:_A0") │
│ 2023-10-09T03:27:05.619363Z INFO test: input=Comment("{/") │
│ 2023-10-09T03:27:05.619393Z INFO test: │
│ input=Integer(-7334131361623526913) │
│ 2023-10-09T03:27:05.619426Z INFO test: │
│ input=StringLiteral("JnEv'$") │
│ 2023-10-09T03:27:05.619455Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.619486Z INFO test: │
│ input=Comment("`%9C/:5SJ'@{3$=q~:%`jQa") │
│ 2023-10-09T03:27:05.619512Z INFO test: │
│ input=Integer(-3627026752699765515) │
│ 2023-10-09T03:27:05.619558Z INFO test: │
│ input=Identifier("APd7vrHGv9x8KK3se8G14t3zulKfH") │
│ 2023-10-09T03:27:05.619605Z INFO test: │
│ input=StringLiteral("/`D<Kh~K<fm$LlsD*h&*dO`f>V") │
│ 2023-10-09T03:27:05.619637Z INFO test: │
│ input=Comment("l''?)-N<&y'du\\/o") │
│ 2023-10-09T03:27:05.619680Z INFO test: │
│ input=Comment("|..&#$6*`.W..Om%+Lr%P&&38&R',;{@") │
│ 2023-10-09T03:27:05.619717Z INFO test: │
│ input=StringLiteral("d`!?*71Z{8N8&r+-&/1<vbpU`;") │
│ 2023-10-09T03:27:05.619754Z INFO test: │
│ input=StringLiteral("i{{XM;<%[n1.F$1:LGB '0s:") │
│ 2023-10-09T03:27:05.619795Z INFO test: │
│ input=Identifier("DddGTESMFs075iR34sn6") │
│ 2023-10-09T03:27:05.619833Z INFO test: │
│ input=StringLiteral(".QW%H'QGnzelu2v") │
│ 2023-10-09T03:27:05.619867Z INFO test: │
│ input=StringLiteral(".%&oy1H:<=M$~M:9%") │
│ 2023-10-09T03:27:05.619898Z INFO test: │
│ input=StringLiteral("%~I./&") │
│ 2023-10-09T03:27:05.619933Z INFO test: │
│ input=Identifier("krwV8P8Xgx55a76Rjxl4m9b") │
│ 2023-10-09T03:27:05.619974Z INFO test: │
│ input=StringLiteral("*F4H$RZJ~{ &P'E':6mJZ#gT.2P-<s%") │
│ 2023-10-09T03:27:05.620021Z INFO test: │
│ input=StringLiteral("o%*':?&t&!`.oY.3j{H)u?") │
│ 2023-10-09T03:27:05.620065Z INFO test: │
│ input=Comment("*\"f6`r") │
│ 2023-10-09T03:27:05.620099Z INFO test: │
│ input=Comment(")YHG%n#{U@LOV*^\\XeY") │
│ 2023-10-09T03:27:05.620133Z INFO test: │
│ input=Identifier("gQQxDq51XS2hIYP14bes") │
│ 2023-10-09T03:27:05.620156Z INFO test: │
│ input=Integer(-7153240680223089293) │
│ 2023-10-09T03:27:05.620176Z INFO test: input=Operator("-") │
│ 2023-10-09T03:27:05.620198Z INFO test: │
│ input=Integer(-6636870280815212006) │
│ 2023-10-09T03:27:05.620224Z INFO test: │
│ input=Comment("y32FW_$GrsCmM<8}") │
│ 2023-10-09T03:27:05.620268Z INFO test: │
│ input=Identifier("Sch") │
│ 2023-10-09T03:27:05.620299Z INFO test: │
│ input=Comment("P'+O") │
│ 2023-10-09T03:27:05.620335Z INFO test: │
│ input=Identifier("NcwfoK8qQ5VXK5elLG175AlagRu1b8O") │
│ 2023-10-09T03:27:05.620376Z INFO test: │
│ input=StringLiteral("-kvH/cHA? ") │
│ 2023-10-09T03:27:05.620437Z INFO test: │
│ input=StringLiteral(")!'UccEA4Ly$&&") │
│ 2023-10-09T03:27:05.620510Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.620560Z INFO test: input=Operator("+") │
│ 2023-10-09T03:27:05.620647Z INFO test: input=Comment("Y+") │
│ 2023-10-09T03:27:05.620703Z INFO test: │
│ input=Integer(-7642514948714712447) │
│ 2023-10-09T03:27:05.620775Z INFO test: input=Comment("") │
│ 2023-10-09T03:27:05.620839Z INFO test: │
│ input=Identifier("MxEoVJ7H2GLsKQV50T2z0DnpAUyx") │
│ 2023-10-09T03:27:05.620888Z INFO test: │
│ input=StringLiteral(";D=QZwGu^&]?+") │
│ 2023-10-09T03:27:05.620952Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.620988Z INFO test: │
│ input=Integer(-6370141588050152879) │
│ 2023-10-09T03:27:05.621024Z INFO test: │
│ input=StringLiteral(">N/up&->*KbU#-2") │
│ 2023-10-09T03:27:05.621105Z INFO test: │
│ input=StringLiteral("grI&T?q[te2?.(,R=Z&~") │
│ 2023-10-09T03:27:05.621162Z INFO test: │
│ input=Identifier("VTyoCt1S5") │
│ 2023-10-09T03:27:05.621208Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.621249Z INFO test: │
│ input=Integer(6082781041090258057) │
│ 2023-10-09T03:27:05.621330Z INFO test: input=Comment("") │
│ 2023-10-09T03:27:05.621364Z INFO test: │
│ input=Integer(4269151219555609090) │
│ 2023-10-09T03:27:05.621400Z INFO test: │
│ input=Integer(-8429653917100223762) │
│ 2023-10-09T03:27:05.621440Z INFO test: │
│ input=Integer(-8746236976492214606) │
│ 2023-10-09T03:27:05.621487Z INFO test: │
│ input=Identifier("RZ5ZhINxWZ1i31") │
│ 2023-10-09T03:27:05.621534Z INFO test: │
│ input=Integer(1883302368405116197) │
│ 2023-10-09T03:27:05.621572Z INFO test: │
│ input=Identifier("w515UeJ64e") │
│ 2023-10-09T03:27:05.621642Z INFO test: │
│ input=Identifier("DSt9s968wX7lKdJ3x") │
│ 2023-10-09T03:27:05.621717Z INFO test: │
│ input=Identifier("Z5f74W8w9UMZHf3D0m3bcIprmg8XmQ6Zh") │
│ 2023-10-09T03:27:05.621863Z INFO test: │
│ input=Comment("h?^G{s^'I/<={WWjJz&jJ}p@!q/3/xg") │
│ 2023-10-09T03:27:05.621943Z INFO test: input=Operator("-") │
│ 2023-10-09T03:27:05.622045Z INFO test: │
│ input=Integer(-3764186433142568330) │
│ 2023-10-09T03:27:05.622223Z INFO test: input=Comment("Z=[ │
│ _EG\\Ke&FCW&/nz\"ETK}$R?@") │
│ 2023-10-09T03:27:05.622283Z INFO test: │
│ input=StringLiteral("l<") │
│ 2023-10-09T03:27:05.622310Z INFO test: │
│ input=Comment(">fGu&`'") │
│ 2023-10-09T03:27:05.622343Z INFO test: │
│ input=Comment("e:hwEX{-*\"*d%$:3@\"4|") │
│ 2023-10-09T03:27:05.622372Z INFO test: │
│ input=StringLiteral("67") │
│ 2023-10-09T03:27:05.622402Z INFO test: │
│ input=Integer(-7447044411139368713) │
│ 2023-10-09T03:27:05.622432Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.622455Z INFO test: │
│ input=Integer(3815866115364116913) │
│ 2023-10-09T03:27:05.622477Z INFO test: input=Operator("(") │
│ 2023-10-09T03:27:05.622508Z INFO test: │
│ input=Identifier("m59r5CBTQW0kr39q") │
│ 2023-10-09T03:27:05.622538Z INFO test: │
│ input=StringLiteral("wF:n?c$cx@NN9gU") │
│ 2023-10-09T03:27:05.622586Z INFO test: │
│ input=Comment("m{POpDm*#'5") │
│ 2023-10-09T03:27:05.622621Z INFO test: │
│ input=Identifier("w68t6NHhhhuaked8p6TyjPpxho") │
│ 2023-10-09T03:27:05.622648Z INFO test: input=Operator("(") │
│ 2023-10-09T03:27:05.622668Z INFO test: input=Operator("-") │
│ 2023-10-09T03:27:05.622695Z INFO test: │
│ input=Identifier("YcR7Fsu9p") │
│ 2023-10-09T03:27:05.622720Z INFO test: │
│ input=Identifier("mQXXab64lu") │
│ 2023-10-09T03:27:05.622742Z INFO test: │
│ input=Integer(-9139278463500791815) │
│ 2023-10-09T03:27:05.622775Z INFO test: input=Operator(")") │
│ 2023-10-09T03:27:05.622809Z INFO test: │
│ input=Identifier("OS8QRqgAtb9nLY6") │
│ 2023-10-09T03:27:05.622831Z INFO test: │
│ input=Integer(-5760722397743294810) │
│ 2023-10-09T03:27:05.622863Z INFO test: │
│ input=Identifier("zKnabLq7O6PV5pUs6e") │
│ 2023-10-09T03:27:05.622932Z INFO test: │
│ input=StringLiteral("8upM5X.tZz:") │
│ 2023-10-09T03:27:05.623067Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.623144Z INFO test: │
│ input=Identifier("OLeE2") │
│ 2023-10-09T03:27:05.623183Z INFO test: input=Operator("=") │
│ 2023-10-09T03:27:05.623211Z INFO test: │
│ input=Identifier("hx88e7HpQ") │
│ 2023-10-09T03:27:05.623251Z INFO test: │
│ input=Identifier("IoUyEF8xbwZ7XNSQUX2nZE3") │
│ 2023-10-09T03:27:05.623286Z INFO test: │
│ input=StringLiteral("'") │
│ 2023-10-09T03:27:05.623306Z INFO test: │
│ input=Integer(566119598513427660) │
│ 2023-10-09T03:27:05.623346Z INFO test: │
│ input=Comment("%p`=&ks'2\"U5:& <%>*s_h3{VU`r") │
│ 2023-10-09T03:27:05.623405Z INFO test: input=Operator("/") │
│ 2023-10-09T03:27:05.623448Z INFO test: │
│ input=StringLiteral("&v>pBK,UeUPiS") │
│ test prop_parse_format_idempotent ... ok │
│ test │
│ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged ... │
│ ok │
│ │
│ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │
│ finished in 0.13s │
│ │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
── pwsh ────────────────────────────────────────────────────────────────────────
{ . $ScriptDir/../../target/release/test$(GetExecutableSuffix) } | Invoke-Block
╭─[ 83.12ms - stdout ]─────────────────────────────────────────────────────────╮
│ app=test │
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
[NbConvertApp] Converting notebook build.dib.ipynb to html
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future.
validate(nb)
C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3
return _pygments_highlight(
[NbConvertApp] Writing 315307 bytes to build.dib.html
In [ ]:
{ . "$ScriptDir/../spiral/extension/build.ps1" } | Invoke-Block
Lockfile is up to date, resolution step is skipped Already up to date Done in 1.4s [INFO]: 🎯 Checking for the Wasm target... [INFO]: 🌀 Compiling to Wasm... warning: C:\home\git\polyglot\Cargo.toml: unused manifest key: lib.members Finished dev [unoptimized + debuginfo] target(s) in 0.45s [INFO]: ⬇️ Installing wasm-bindgen... [INFO]: Optional fields missing from Cargo.toml: 'description', 'repository', and 'license'. These are not necessary, but recommended [INFO]: ✨ Done in 1.37s [INFO]: 📦 Your wasm pkg is ready to publish at C:\home\git\polyglot\spiral\extension\pkg. ▲ [WARNING] "import.meta" is not available with the "iife" output format and will be empty [empty-import-meta] pkg/extension.js:451:45: 451 │ input = new URL('extension_bg.wasm', import.meta.url); ╵ ~~~~~~~~~~~ You need to set the output format to "esm" for "import.meta" to work correctly. 1 warning dist\extension_bg-ITQ4YCGU.wasm 147.7kb dist\content_script.js 7.4kb dist\service_worker.js 1.6kb ⚡ Done in 27ms > polyglot@ test:e2e C:\home\git\polyglot\spiral\extension > playwright test INFO Accepting connections at http://localhost:3000 HTTP 10/8/2023 11:27:20 PM ::1 GET / HTTP 10/8/2023 11:27:20 PM ::1 Returned 200 in 24 ms Running 3 tests using 3 workers [1/3] [Desktop Chrome] › extension.spec.ts:8:5 › popup extension [2/3] [Desktop Chrome] › extension.spec.ts:3:5 › popup localhost [3/3] [Desktop Chrome] › extension.spec.ts:13:5 › libgen HTTP 10/8/2023 11:27:26 PM ::1 GET /popup HTTP 10/8/2023 11:27:26 PM ::1 Returned 200 in 13 ms HTTP 10/8/2023 11:27:26 PM ::1 GET /popup.js HTTP 10/8/2023 11:27:26 PM ::1 GET /content_script.js HTTP 10/8/2023 11:27:26 PM ::1 Returned 200 in 10 ms HTTP 10/8/2023 11:27:26 PM ::1 Returned 200 in 12 ms HTTP 10/8/2023 11:27:26 PM ::1 GET /extension_bg-ITQ4YCGU.wasm HTTP 10/8/2023 11:27:26 PM ::1 GET /favicon.ico HTTP 10/8/2023 11:27:26 PM ::1 Returned 404 in 7 ms HTTP 10/8/2023 11:27:26 PM ::1 Returned 200 in 10 ms 3 passed (11.8s) To open last HTML report run: npx playwright show-report
In [ ]:
# { . "$ScriptDir/../spiral/cli/build.ps1" } | Invoke-Block
In [ ]:
{ . "$ScriptDir/../apps/dice/build.ps1" } | Invoke-Block
Complexidade: Simple, Duração: Short Complexidade: Simple, Duração: Short Complexidade: Simple, Duração: Medium Complexidade: Moderate, Duração: Medium Complexidade: Complex, Duração: Long Complexidade: Complex, Duração: Long [23:27:40 INF] EXPECTO? Running tests... <Expecto> [23:27:45 INF] EXPECTO! 7 tests run in 00:00:05.1203115 for FsCheck samples – 7 passed, 0 ignored, 0 failed, 0 errored. Success! <Expecto> ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ # Dice (Polyglot) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #!import ../nbs/Testing.dib ── fsharp - import ───────────────────────────────────────────────────────────── #r "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.A spNetCore.Html.Abstractions.dll" #r "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D otNet.Interactive.dll" #r "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D otNet.Interactive.FSharp.dll" #r "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D otNet.Interactive.Formatting.dll" open System open System.IO open System.Text open Microsoft.DotNet.Interactive.Formatting ── fsharp - import ───────────────────────────────────────────────────────────── #r "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D otNet.Interactive.FSharp.dll" open Microsoft.DotNet.Interactive.FSharp.FSharpKernelHelpers #r "C:/Users/i574n/.nuget/packages/dotnet-repl/0.1.204/tools/net7.0/any/Microsoft.D otNet.Interactive.dll" open type Microsoft.DotNet.Interactive.Kernel ── fsharp - import ───────────────────────────────────────────────────────────── #r @"../../../../../../../.nuget/packages/expecto/10.1.0/lib/net6.0/Expecto.dll" ── fsharp - import ───────────────────────────────────────────────────────────── //// test Formatter.ListExpansionLimit <- 100 ── fsharp - import ───────────────────────────────────────────────────────────── //// test type AssertExceptionFormatter (ex) = member _.Text = ex.ToString() .Replace("32m", "<span style=\"color: green;\">") .Replace("36m", "</span>") .Replace("31m", "<span style=\"color: red;\">") .Replace("\n", "<br/>\n") Formatter.Register<AssertExceptionFormatter> ((fun (x : AssertExceptionFormatter) -> x.Text), "text/html") ── fsharp - import ───────────────────────────────────────────────────────────── //// test let inline __expect fn log expected actual = if log then printfn $"{actual.ToDisplayString ()}" try "Testing.__expect" |> fn actual expected with :? Expecto.AssertException as ex -> AssertExceptionFormatter(ex).Display () |> ignore failwith (ex.GetType().FullName) let inline __contains log expected actual = __expect Expecto.Expect.contains log expected actual let inline _contains expected actual = __contains true expected actual let inline __equal log expected actual = __expect Expecto.Expect.equal log expected actual let inline _equal expected actual = __equal true expected actual let inline __isGreaterThan log expected actual = __expect Expecto.Expect.isGreaterThan log expected actual let ... ── fsharp - import ───────────────────────────────────────────────────────────── //// test let inline __isBetween log a b actual = let inline isBetween actual (a, b) _ = __isGreaterThanOrEqual log a actual __isLessThanOrEqual log b actual __expect isBetween log (a, b) actual let inline _isBetween a b actual = __isBetween true a b actual ── fsharp ────────────────────────────────────────────────────────────────────── #!import ../nbs/Common.fs ── fsharp - import ───────────────────────────────────────────────────────────── #if !INTERACTIVE namespace Polyglot #endif module Common = let nl = System.Environment.NewLine let q = @"""" let inline cons head tail = head :: tail module String = let inline contains (value : string) (input : string) = input.Contains value let inline endsWith (value : string) (input : string) = input.EndsWith value let inline padLeft totalWidth paddingChar (input : string) = input.PadLeft (totalWidth, paddingChar) let inline replace (oldValue : string) (newValue : string) (input : string) = input.Replace (oldValue, newValue) let inline split separator (input : string) = input.Split separator let inline spli... ── fsharp ────────────────────────────────────────────────────────────────────── open Common ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## sixthPowerSequence │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let sixthPowerSequence = 1 |> Seq.unfold (fun state -> Some (state, state * 6)) |> Seq.cache ── fsharp ────────────────────────────────────────────────────────────────────── //// test sixthPowerSequence |> Seq.take 8 |> Seq.toList |> _equal [[ 1; 6; 36; 216; 1296; 7776; 46656; 279936 ]] ╭─[ 72.22ms - stdout ]─────────────────────────────────────────────────────────╮ │ [ 1, 6, 36, 216, 1296, 7776, 46656, 279936 ] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## accumulateDiceRolls │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let rec accumulateDiceRolls log rolls power acc = match rolls with | _ when power < 0 -> log |> Option.iter ((|>) $"accumulateDiceRolls / power: {power} / acc: {acc}") Some (acc + 1, rolls) | [[]] -> None | roll :: rest when roll > 1 -> let coeff = sixthPowerSequence |> Seq.item power let value = (roll - 1) * coeff log |> Option.iter ((|>) $"accumulateDiceRolls / \ power: {power} / acc: {acc} / roll: {roll} / value: {value}" ) accumulateDiceRolls log rest (power - 1) (acc + value) | roll :: rest -> log |> Option.iter ((|>) $"accumulateDiceRolls / power: {power} / acc: {acc} / roll: {roll}") accumulateDiceRolls log rest (power - 1) acc ── fsharp ────────────────────────────────────────────────────────────────────── //// test accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 0 1000 |> _equal (Some (1006, [[ 5; 4; 3; 2 ]])) ╭─[ 40.35ms - stdout ]─────────────────────────────────────────────────────────╮ │ accumulateDiceRolls / power: 0 / acc: 1000 / roll: 6 / value: 5 │ │ accumulateDiceRolls / power: -1 / acc: 1005 │ │ FSharpOption<Tuple<Int32,FSharpList<Int32>>> │ │ Value: - 1006 │ │ - [ 5, 4, 3, 2 ] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 1 1000 |> _equal (Some (1035, [[ 4; 3; 2 ]])) ╭─[ 27.34ms - stdout ]─────────────────────────────────────────────────────────╮ │ accumulateDiceRolls / power: 1 / acc: 1000 / roll: 6 / value: 30 │ │ accumulateDiceRolls / power: 0 / acc: 1030 / roll: 5 / value: 4 │ │ accumulateDiceRolls / power: -1 / acc: 1034 │ │ FSharpOption<Tuple<Int32,FSharpList<Int32>>> │ │ Value: - 1035 │ │ - [ 4, 3, 2 ] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test accumulateDiceRolls (Some (printfn "%s")) [[ 6; 5; 4; 3; 2 ]] 2 1000 |> _equal (Some (1208, [[ 3; 2 ]])) ╭─[ 37.75ms - stdout ]─────────────────────────────────────────────────────────╮ │ accumulateDiceRolls / power: 2 / acc: 1000 / roll: 6 / value: 180 │ │ accumulateDiceRolls / power: 1 / acc: 1180 / roll: 5 / value: 24 │ │ accumulateDiceRolls / power: 0 / acc: 1204 / roll: 4 / value: 3 │ │ accumulateDiceRolls / power: -1 / acc: 1207 │ │ FSharpOption<Tuple<Int32,FSharpList<Int32>>> │ │ Value: - 1208 │ │ - [ 3, 2 ] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## rollWithinBounds │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let rollWithinBounds log max rolls = let power = List.length rolls - 1 match accumulateDiceRolls log rolls power 0 with | Some (result, _) when result >= 1 && result <= max -> Some result | _ -> None ── fsharp ────────────────────────────────────────────────────────────────────── //// test rollWithinBounds (Some (printfn "%s")) 2000 [[ 1; 5; 4; 4; 5 ]] |> _equal (Some 995) ╭─[ 29.17ms - stdout ]─────────────────────────────────────────────────────────╮ │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 1 │ │ accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864 │ │ accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108 │ │ accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18 │ │ accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4 │ │ accumulateDiceRolls / power: -1 / acc: 994 │ │ FSharpOption<Int32> │ │ Value: 995 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test rollWithinBounds (Some (printfn "%s")) 2000 [[ 2; 2; 6; 4; 5 ]] |> _equal (Some 1715) ╭─[ 28.06ms - stdout ]─────────────────────────────────────────────────────────╮ │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │ │ accumulateDiceRolls / power: 3 / acc: 1296 / roll: 2 / value: 216 │ │ accumulateDiceRolls / power: 2 / acc: 1512 / roll: 6 / value: 180 │ │ accumulateDiceRolls / power: 1 / acc: 1692 / roll: 4 / value: 18 │ │ accumulateDiceRolls / power: 0 / acc: 1710 / roll: 5 / value: 4 │ │ accumulateDiceRolls / power: -1 / acc: 1714 │ │ FSharpOption<Int32> │ │ Value: 1715 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test rollWithinBounds (Some (printfn "%s")) 2000 [[ 4; 1; 1; 2; 3 ]] |> _equal None ╭─[ 24.02ms - stdout ]─────────────────────────────────────────────────────────╮ │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 4 / value: 3888 │ │ accumulateDiceRolls / power: 3 / acc: 3888 / roll: 1 │ │ accumulateDiceRolls / power: 2 / acc: 3888 / roll: 1 │ │ accumulateDiceRolls / power: 1 / acc: 3888 / roll: 2 / value: 6 │ │ accumulateDiceRolls / power: 0 / acc: 3894 / roll: 3 / value: 2 │ │ accumulateDiceRolls / power: -1 / acc: 3896 │ │ <null> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## calculateDiceCount │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline calculateDiceCount log max = let rec loop n p = if p < max then loop (n + 1) (p * 6) else log |> Option.iter ((|>) $"calculateDiceCount / max: {max} / n: {n} / p: {p}") n if max = 1 then 1 else loop 0 1 ── fsharp ────────────────────────────────────────────────────────────────────── //// test calculateDiceCount (Some (printfn "%s")) 36 |> _equal 2 ╭─[ 28.07ms - stdout ]─────────────────────────────────────────────────────────╮ │ calculateDiceCount / max: 36 / n: 2 / p: 36 │ │ 2 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test calculateDiceCount (Some (printfn "%s")) 7777 |> _equal 6 ╭─[ 27.23ms - stdout ]─────────────────────────────────────────────────────────╮ │ calculateDiceCount / max: 7777 / n: 6 / p: 46656 │ │ 6 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## rollDice │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #if FABLE_COMPILER_RUST #if !CHAIN let rollDice () : int = Fable.Core.RustInterop.emitRustExpr () "rand::Rng::gen_range(&mut rand::thread_rng(), 1..7)" #endif #else let private random = System.Random () let rollDice () = random.Next (1, 7) #endif ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## rotateNumber │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let rotateNumber max n = (n - 1 + max) % max + 1 ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## rotateNumbers │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let rotateNumbers max items = items |> Seq.map (rotateNumber max) ── fsharp ────────────────────────────────────────────────────────────────────── //// test [[ -1 .. 14 ]] |> rotateNumbers 6 |> Seq.toList |> _equal [[ 5; 6; 1; 2; 3; 4; 5; 6; 1; 2; 3; 4; 5; 6; 1; 2 ]] ╭─[ 44.64ms - stdout ]─────────────────────────────────────────────────────────╮ │ [ 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2 ] │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## createSequentialRoller │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let createSequentialRoller list = let mutable currentIndex = 0 fun () -> match list |> List.tryItem currentIndex with | Some item -> currentIndex <- currentIndex + 1 item | None -> failwith "createSequentialRoller / End of list" ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## rollProgressively │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let rollProgressively log roll reroll max = let power = (calculateDiceCount log max) - 1 let rec loop rolls size = if size < power + 1 then loop (roll () :: rolls) (size + 1) else match accumulateDiceRolls log rolls power 0 with | Some (result, _) when result <= max -> result | _ when reroll -> loop (List.init power (fun _ -> roll ())) power | _ -> loop (roll () :: rolls) (size + 1) loop [[]] 0 ── fsharp ────────────────────────────────────────────────────────────────────── //// test rollProgressively None rollDice false 1 |> _equal 1 ╭─[ 22.04ms - stdout ]─────────────────────────────────────────────────────────╮ │ 1 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test let sequentialRoll = createSequentialRoller [[ 5; 4; 4; 5; 1 ]] rollProgressively (Some (printfn "%s")) sequentialRoll false 2000 |> _equal 995 ╭─[ 33.13ms - stdout ]─────────────────────────────────────────────────────────╮ │ calculateDiceCount / max: 2000 / n: 5 / p: 7776 │ │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 1 │ │ accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864 │ │ accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108 │ │ accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18 │ │ accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4 │ │ accumulateDiceRolls / power: -1 / acc: 994 │ │ 995 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test let sequentialRoll = createSequentialRoller [[ 5; 4; 4; 5; 2 ]] fun () -> rollProgressively (Some (printfn "%s")) sequentialRoll false 2000 |> ignore |> _throwsC (fun ex _ -> printException ex |> _equal "System.Exception: createSequentialRoller / End of list" ) ╭─[ 52.86ms - stdout ]─────────────────────────────────────────────────────────╮ │ FSI_0031+it@5-11 │ │ calculateDiceCount / max: 2000 / n: 5 / p: 7776 │ │ accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296 │ │ accumulateDiceRolls / power: 3 / acc: 1296 / roll: 5 / value: 864 │ │ accumulateDiceRolls / power: 2 / acc: 2160 / roll: 4 / value: 108 │ │ accumulateDiceRolls / power: 1 / acc: 2268 / roll: 4 / value: 18 │ │ accumulateDiceRolls / power: 0 / acc: 2286 / roll: 5 / value: 4 │ │ accumulateDiceRolls / power: -1 / acc: 2290 │ │ System.Exception: createSequentialRoller / End of list │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp - ignored ──────────────────────────────────────────────────────────── //// ignore rollProgressively (Some (printfn "%s")) rollDice false 2000 ── fsharp - ignored ──────────────────────────────────────────────────────────── //// ignore rollProgressively (Some (printfn "%s")) rollDice true 2000 ── fsharp - ignored ──────────────────────────────────────────────────────────── //// ignore [[ 1 .. 1000 ]] |> List.map (fun _ -> rollProgressively None rollDice false 10) |> List.groupBy id |> List.map (fun (k, v) -> k, v.Length) |> List.sortBy fst ── fsharp ────────────────────────────────────────────────────────────────────── //// test [[ 1 .. 100 ]] |> List.iter (fun n -> [[ 0 .. 1 ]] |> List.iter (fun reroll -> [[ 1 .. 3500 ]] |> List.map (fun _ -> rollProgressively None rollDice (reroll = 1) n) |> List.groupBy id |> List.length |> __equal false n ) ) ── fsharp - ignored ──────────────────────────────────────────────────────────── //// ignore let inline rollMax fn max n = [[ 1 .. n ]] |> List.map (fun _ -> fn max) |> List.groupBy id |> List.map (fun (_, v) -> v.Length) let max = 10 let n = 30 let even = (n / max) |> int let rec rollN current = let roll = rollMax (rollProgressively None rollDice true) max n if roll |> List.forall ((=) even) then current else rollN (current + 1) rollN 0 ── fsharp - ignored ──────────────────────────────────────────────────────────── //// ignore // [[ 1 .. 100 ]] // |> List.map (fun i -> // let roll = rollN 0 // printfn $"i: {i} / roll: {roll}" // roll // ) // |> List.map float // |> List.average ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## main │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let main args = let result = rollWithinBounds (Some (printfn "%s")) 2000 [[ 1; 5; 4; 4; 5 ]] trace Debug (fun () -> $"main / result: {result |> Option.defaultValue -1}") getLocals 0 [NbConvertApp] Converting notebook Dice.dib.ipynb to html C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbformat\__init__.py:93: MissingIDFieldWarning: Code cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. validate(nb) C:\Users\i574n\scoop\apps\python\current\Lib\site-packages\nbconvert\filters\highlight.py:72: UserWarning: IPython3 lexer unavailable, falling back on Python 3 return _pygments_highlight( [NbConvertApp] Writing 324593 bytes to Dice.dib.html 23:28:06 #1 [Debug] writeDibCode / output: Fs / path: Dice.dib 23:28:06 #2 [Debug] parseDibCode / output: Fs / file: Dice.dib 23:28:06 #1 [Debug] persistCodeProject / packages: [Fable.Core] / modules: [nbs/Common.fs] / path: C:\home\git\polyglot\apps\dice / name: Dice / code.Length: 3320 23:28:06 #2 [Debug] buildProject / fullPath: C:\home\git\polyglot\apps\dice\target\Dice.fsproj 23:28:06 #3 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r linux-x64" WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\target" CancellationToken = None OnLine = None } 23:28:07 #4 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET 23:28:07 #5 [Debug] > Determining projects to restore... 23:28:08 #6 [Debug] > Restored C:\home\git\polyglot\apps\dice\target\Dice.fsproj (in 374 ms). 23:28:08 #7 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\target\Dice.fsproj] 23:28:12 #8 [Debug] > Dice -> C:\home\git\polyglot\apps\dice\target\bin\release\net8.0\linux-x64\Dice.dll 23:28:13 #9 [Debug] > Dice -> C:\home\git\polyglot\apps\dice\dist\ 23:28:13 #10 [Debug] executeAsync / exitCode: 0 / proc.Id: 11920 / output.Length: 594 23:28:13 #11 [Debug] executeAsync / options: { Command = "dotnet publish -c release -o ../dist -r win-x64" WorkingDirectory = Some "C:\home\git\polyglot\apps\dice\target" CancellationToken = None OnLine = None } 23:28:13 #12 [Debug] > MSBuild version 17.8.0-preview-23418-03+0125fc9fb for .NET 23:28:14 #13 [Debug] > Determining projects to restore... 23:28:15 #14 [Debug] > Restored C:\home\git\polyglot\apps\dice\target\Dice.fsproj (in 402 ms). 23:28:15 #15 [Debug] > C:\Program Files\dotnet\sdk\8.0.100-rc.1.23463.5\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(311,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [C:\home\git\polyglot\apps\dice\target\Dice.fsproj] 23:28:19 #16 [Debug] > Dice -> C:\home\git\polyglot\apps\dice\target\bin\release\net8.0\win-x64\Dice.dll 23:28:26 #17 [Debug] > Dice -> C:\home\git\polyglot\apps\dice\dist\ 23:28:26 #18 [Debug] executeAsync / exitCode: 0 / proc.Id: 78600 / output.Length: 592 Fable 4.2.1: F# to Rust compiler (status: alpha) Thanks to the contributor! @irium Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\Dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 177ms Started Fable compilation... Fable compilation finished in 2531ms Fable 4.2.1: F# to TypeScript compiler Minimum fable-library version (when installed from npm): 1.1.1 Thanks to the contributor! @markek Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\Dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 177ms Started Fable compilation... Fable compilation finished in 2459ms Fable 4.2.1: F# to Python compiler (status: beta) Thanks to the contributor! @Booksbaum Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\Dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 184ms Started Fable compilation... Fable compilation finished in 2429ms Fable 4.2.1: F# to PHP compiler (status: experimental) Thanks to the contributor! @drk-mtr Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\Dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 188ms Started Fable compilation... Fable compilation finished in 2416ms .\target\Dice.fs(18,37): (18,89) error FABLE: String templates are not supported .\target\Dice.fs(24,37): (25,76) error FABLE: String templates are not supported .\target\Dice.fs(29,37): (29,104) error FABLE: String templates are not supported .\target\Dice.fs(47,41): (47,93) error FABLE: String templates are not supported .\target\Dice.fs(107,31): (107,83) error FABLE: String templates are not supported Compilation failed # Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock: 'dotnet fable target/Dice.fsproj --optimize --lang php --extension .php --outDir target/php' Fable 4.2.1: F# to Dart compiler (status: beta) Thanks to the contributor! @kant2002 Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\Dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 181ms Started Fable compilation... Fable compilation finished in 2523ms .\..\..\nbs\Common.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5 .\target\Dice.fs(1,1): error FABLE: Cannot find reference for System.Random .\target\Dice.fs(1,1): error FABLE: Cannot find reference for System.IO.TextWriter .\target\Dice.fs(1,1): error FABLE: Cannot find reference for Microsoft.FSharp.Core.PrintfFormat`5 Compilation failed # Invoke-Block / $Retries: 1 / $OnError: Continue / $exitcode: 1 / $EnvVars: null / $Error: '' / $ScriptBlock: 'dotnet fable target/Dice.fsproj --optimize --lang dart --extension .dart --outDir target/dart' Fable 4.2.1: F# to Rust compiler (status: alpha) Thanks to the contributor! @zanaptak Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target\Dice.fsproj... Retrieving project options from cache, in case of issues run `dotnet fable clean` or try `--noCache` option. Project and references (2 source files) parsed in 180ms Started Fable compilation... Fable compilation finished in 2420ms Compiling dice v0.0.1 (C:\home\git\polyglot\apps\dice) Finished release [optimized] target(s) in 4.23s Running `target\release\dice.exe` accumulateDiceRolls / power: 4 / acc: 0 / roll: 1 accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864 accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108 accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18 accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4 accumulateDiceRolls / power: -1 / acc: 994 23:28:57 #1 [Debug] main / result: 995 Compiling dice v0.0.1 (C:\home\git\polyglot\apps\dice) Compiling dice_contract v0.0.1 (C:\home\git\polyglot\apps\dice\contract) Finished release [optimized] target(s) in 7.34s ## 7 Compiling rustix v0.38.17 Compiling tokio v1.28.2 Compiling which v4.4.2 Compiling tempfile v3.8.0 Compiling near-sandbox-utils v0.7.0 Compiling prost-build v0.9.0 Compiling near-workspaces v0.7.0 (https://github.com/near/workspaces-rs#bc208e91) Compiling tonic-build v0.6.2 Compiling opentelemetry-otlp v0.10.0 Compiling near-o11y v0.17.0 Compiling near-chain-configs v0.17.0 Compiling near-jsonrpc-primitives v0.17.0 Compiling near-jsonrpc-client v0.6.0 Compiling dice v0.0.1 (/mnt/c/home/git/polyglot/apps/dice/tests) Finished release [optimized] target(s) in 5m 07s Running `target/release/dice` new: ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5274261083664, }, transaction: ExecutionOutcome { transaction_hash: EaS3a5hFw7HJo4qweEBC4seSr42pMjgtKQxvqGSeEzQk, block_hash: ByFsvmwoWbZGNvsnZk8k1aKaAAGiGS4tqZxBPNbb9ZG, logs: [], receipt_ids: [ 8XswqVWpnp7oQtQp4WWZTczntUaht58auPLGobWZhRro, ], gas_burnt: NearGas { inner: 2427927707802, }, tokens_burnt: 242792770780200000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessReceiptId(8XswqVWpnp7oQtQp4WWZTczntUaht58auPLGobWZhRro), }, receipts: [ ExecutionOutcome { transaction_hash: 8XswqVWpnp7oQtQp4WWZTczntUaht58auPLGobWZhRro, block_hash: ByFsvmwoWbZGNvsnZk8k1aKaAAGiGS4tqZxBPNbb9ZG, logs: [], receipt_ids: [ 4SLJfEcv9Q3h2McbQe3jTtLdshpaWWiRrRNbpJSjhxJo, ], gas_burnt: NearGas { inner: 2623150813362, }, tokens_burnt: 262315081336200000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 4SLJfEcv9Q3h2McbQe3jTtLdshpaWWiRrRNbpJSjhxJo, block_hash: 7pB9niHLyiFS4h2yKayecj34yLL33DY8uCpi7inViXLJ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0035232064038875515 outcome (success: true): outcome_gas_burnt_usd: 0.001621855708811736 outcome_tokens_burnt_usd: 0.001621855708811736 outcome (success: true): outcome_gas_burnt_usd: 0.0017522647433258157 outcome_tokens_burnt_usd: 0.0017522647433258162 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 roll_within_bounds(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5460265621093, }, transaction: ExecutionOutcome { transaction_hash: 2C5KNt5B7xaNhF9mVeDL53FfiQk6qPHZL9cMaLTYAWLU, block_hash: 6r8dzpqXsWBsWkXJwqsBfMG54FL9bDyopBEDVnNV6DrB, logs: [], receipt_ids: [ AyPqCa4avzZis83HpPzkhwLVGXLV16FZNhBVrNEPBLEa, ], gas_burnt: NearGas { inner: 2428032796700, }, tokens_burnt: 242803279670000000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessReceiptId(AyPqCa4avzZis83HpPzkhwLVGXLV16FZNhBVrNEPBLEa), }, receipts: [ ExecutionOutcome { transaction_hash: AyPqCa4avzZis83HpPzkhwLVGXLV16FZNhBVrNEPBLEa, block_hash: 6r8dzpqXsWBsWkXJwqsBfMG54FL9bDyopBEDVnNV6DrB, logs: [ "roll_within_bounds / max: 2000 / rolls: [1, 5, 4, 4, 5]", "accumulateDiceRolls / power: 4 / acc: 0 / roll: 1", "accumulateDiceRolls / power: 3 / acc: 0 / roll: 5 / value: 864", "accumulateDiceRolls / power: 2 / acc: 864 / roll: 4 / value: 108", "accumulateDiceRolls / power: 1 / acc: 972 / roll: 4 / value: 18", "accumulateDiceRolls / power: 0 / acc: 990 / roll: 5 / value: 4", "accumulateDiceRolls / power: -1 / acc: 994", ], receipt_ids: [ 4KVb7EwnzTxjsJYpfSm46F4hnGKZaAmV6vAMkhkYkJ3E, ], gas_burnt: NearGas { inner: 2809050261893, }, tokens_burnt: 280905026189300000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue('995'), }, ExecutionOutcome { transaction_hash: 4KVb7EwnzTxjsJYpfSm46F4hnGKZaAmV6vAMkhkYkJ3E, block_hash: GVxHNAvjh7YSL1YpmTS6AZRpm17BC15uwUEzjggwFWna, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue(''), }, ], status: SuccessValue('995'), } total_gas_burnt_usd: 0.0036474574348901237 outcome (success: true): outcome_gas_burnt_usd: 0.0016219259081956 outcome_tokens_burnt_usd: 0.0016219259081956 outcome (success: true): outcome_gas_burnt_usd: 0.0018764455749445239 outcome_tokens_burnt_usd: 0.0018764455749445239 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 roll_within_bounds_borsh(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5470615159106, }, transaction: ExecutionOutcome { transaction_hash: 8iUubkD3Jp1d61G5V98iMkjSW3dLFhUKSr391bYJ3bK3, block_hash: 5TxdnwhrohRxSTfntycoJ8R4iynHyVKHUzMR5Qu3E5JQ, logs: [], receipt_ids: [ 6ShJ78xtSYL7iKcd2xSRYp71qos6Dc25jjHZR2x6L5xX, ], gas_burnt: NearGas { inner: 2428037268568, }, tokens_burnt: 242803726856800000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessReceiptId(6ShJ78xtSYL7iKcd2xSRYp71qos6Dc25jjHZR2x6L5xX), }, receipts: [ ExecutionOutcome { transaction_hash: 6ShJ78xtSYL7iKcd2xSRYp71qos6Dc25jjHZR2x6L5xX, block_hash: 5TxdnwhrohRxSTfntycoJ8R4iynHyVKHUzMR5Qu3E5JQ, logs: [ "roll_within_bounds / max: 2000 / rolls: [2, 2, 6, 4, 5]", "accumulateDiceRolls / power: 4 / acc: 0 / roll: 2 / value: 1296", "accumulateDiceRolls / power: 3 / acc: 1296 / roll: 2 / value: 216", "accumulateDiceRolls / power: 2 / acc: 1512 / roll: 6 / value: 180", "accumulateDiceRolls / power: 1 / acc: 1692 / roll: 4 / value: 18", "accumulateDiceRolls / power: 0 / acc: 1710 / roll: 5 / value: 4", "accumulateDiceRolls / power: -1 / acc: 1714", ], receipt_ids: [ 3qB3zfvbfgBup1fmAVdSxRY1Gk6uKKZdmTgcZekBehRf, ], gas_burnt: NearGas { inner: 2819395328038, }, tokens_burnt: 281939532803800000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue(AbMGAAA=), }, ExecutionOutcome { transaction_hash: 3qB3zfvbfgBup1fmAVdSxRY1Gk6uKKZdmTgcZekBehRf, block_hash: Ea9YpzYRKo48mGeqcfvC5aPU6JGDuzCk5N6FTfVuwJie, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue(''), }, ], status: SuccessValue(AbMGAAA=), } total_gas_burnt_usd: 0.003654370926282808 outcome (success: true): outcome_gas_burnt_usd: 0.0016219288954034238 outcome_tokens_burnt_usd: 0.001621928895403424 outcome (success: true): outcome_gas_burnt_usd: 0.0018833560791293837 outcome_tokens_burnt_usd: 0.0018833560791293841 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 n: Some( Some( 1715, ), ) generate_random_number(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 8960080248071, }, transaction: ExecutionOutcome { transaction_hash: 2pbVBQsbagDmafJ8ieGsZdGM27iXQxkTRZbQ6A8ZZqeD, block_hash: BEVJKwbRj99m9aNabkN3cefc1c6LWjV26oPi8FfeLUkU, logs: [], receipt_ids: [ 67ACzgzi2FoJBqY7VfRnHTW4NEKqWSZYaxQtAiKJof7m, ], gas_burnt: NearGas { inner: 2427997021756, }, tokens_burnt: 242799702175600000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessReceiptId(67ACzgzi2FoJBqY7VfRnHTW4NEKqWSZYaxQtAiKJof7m), }, receipts: [ ExecutionOutcome { transaction_hash: 67ACzgzi2FoJBqY7VfRnHTW4NEKqWSZYaxQtAiKJof7m, block_hash: BEVJKwbRj99m9aNabkN3cefc1c6LWjV26oPi8FfeLUkU, logs: [ "generate_random_number / max: 2000 / seed: [235, 138, 151, 243, 13, 159, 218, 221, 162, 29, 24, 46, 197, 219, 198, 164, 83, 36, 55, 178, 202, 98, 217, 176, 91, 254, 35, 230, 196, 36, 115, 194] / block_timestamp: 1696822481367309719 / signer_account_id: \"dev-20231009033437-33990107502409\" / account_balance: 99996914182635056605960000 / block_height: 22 / epoch_height: 1 / entropy: [235, 138, 151, 243, 13, 159, 218, 221, 162, 29, 24, 46, 197, 219, 198, 164, 83, 36, 55, 178, 202, 98, 217, 176, 91, 254, 35, 230, 196, 36, 115, 194, 151, 157, 203, 128, 14, 83, 140, 23, 100, 101, 118, 45, 50, 48, 50, 51, 49, 48, 48, 57, 48, 51, 51, 52, 51, 55, 45, 51, 51, 57, 57, 48, 49, 48, 55, 53, 48, 50, 52, 48, 57, 64, 23, 16, 213, 196, 124, 118, 148, 43, 183, 82, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0] / hash_vec: [177, 225, 16, 174, 223, 112, 166, 171, 80, 133, 140, 194, 110, 37, 174, 153, 116, 216, 94, 208, 188, 112, 96, 205, 122, 211, 65, 239, 142, 99, 114, 109, 244, 149, 134, 51, 197, 185, 28, 25, 183, 97, 39, 22, 216, 238, 0, 255, 61, 105, 48, 210, 209, 38, 197, 40, 78, 216, 132, 126, 128, 51, 149, 61] / rolls_list: [3, 3, 4, 6, 1, 4, 4, 3, 2, 1, 2, 2, 2, 1, 6, 3, 2, 6, 4, 4, 2, 4, 6, 1, 2, 1, 5, 5, 4, 3, 6, 1, 4, 5, 2, 3, 5, 5, 4, 1, 3, 1, 3, 4, 6, 4, 6, 3, 1, 3, 6, 6, 5, 2, 5, 4, 6, 6, 6, 6, 2, 3, 5, 1]", "calculateDiceCount / max: 2000 / n: 5 / p: 7776", "accumulateDiceRolls / power: 4 / acc: 0 / roll: 1", "accumulateDiceRolls / power: 3 / acc: 0 / roll: 6 / value: 1080", "accumulateDiceRolls / power: 2 / acc: 1080 / roll: 4 / value: 108", "accumulateDiceRolls / power: 1 / acc: 1188 / roll: 3 / value: 12", "accumulateDiceRolls / power: 0 / acc: 1200 / roll: 3 / value: 2", "accumulateDiceRolls / power: -1 / acc: 1202", ], receipt_ids: [ 5hJR5FDeeaaoFypR79WrcfszWjsEAitbYdgKBB32woMG, ], gas_burnt: NearGas { inner: 6308900663815, }, tokens_burnt: 630890066381500000000, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue('1203'), }, ExecutionOutcome { transaction_hash: 5hJR5FDeeaaoFypR79WrcfszWjsEAitbYdgKBB32woMG, block_hash: HScthQFq5W3yUbSYjmqamKToHZwypatK9eXJ58QMtRWv, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: 0, executor_id: AccountId( "dev-20231009033437-33990107502409", ), status: SuccessValue(''), }, ], status: SuccessValue('1203'), } total_gas_burnt_usd: 0.005985333605711428 outcome (success: true): outcome_gas_burnt_usd: 0.001621902010533008 outcome_tokens_burnt_usd: 0.0016219020105330078 outcome (success: true): outcome_gas_burnt_usd: 0.0042143456434284195 outcome_tokens_burnt_usd: 0.00421434564342842 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 n: 1203
In [ ]:
{ . "$ScriptDir/../apps/perf/build.ps1" } | Invoke-Block
Test: Empty Solution: 0 Test case 1. A. Time: 253L Solution: 2 Test case 1. A. Time: 67L Solution: 5 Test case 1. A. Time: 71L Input Expected Result Best --- --- --- --- 0 0 0 (1, 253) 2 2 2 (1, 67) 5 5 5 (1, 71) Averages Test case 1. Average Time: 130L Ranking Test case 1. Average Time: 130L Test: Empty Solution: 0 Test case 1. A. Time: 58L Solution: 2 Test case 1. A. Time: 26L Solution: 5 Test case 1. A. Time: 26L Input Expected Result Best --- --- --- --- 0 0 0 (1, 58) 2 2 2 (1, 26) 5 5 5 (1, 26) Averages Test case 1. Average Time: 36L Ranking Test case 1. Average Time: 36L
In [ ]:
{ . "$ScriptDir/../apps/ipfs/build.ps1" } | Invoke-Block
Lockfile is up to date, resolution step is skipped Already up to date Done in 2.6s
In [ ]:
{ . "$ScriptDir/outdated.ps1" } | Invoke-Block
Paket version 8.0.0-alpha002+6339fce88f07b4d959d03b78330fdb5a6d936483
Resolving dependency graph...
Outdated packages found:
Group: Main
* Expecto.FsCheck 10.1.0-fscheck3 -> 10.1.0
* FsCheck 3.0.0-rc1 -> 2.16.6
* Microsoft.AspNetCore.Connections.Abstractions 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.AspNetCore.Http.Connections.Client 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.AspNetCore.Http.Connections.Common 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.AspNetCore.SignalR.Client 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.AspNetCore.SignalR.Client.Core 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.AspNetCore.SignalR.Common 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.AspNetCore.SignalR.Protocols.Json 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.Extensions.DependencyInjection 7.0 -> 8.0.0-rc.1.23419.4
* Microsoft.Extensions.DependencyInjection.Abstractions 7.0 -> 8.0.0-rc.1.23419.4
* Microsoft.Extensions.Features 7.0 -> 8.0.0-rc.1.23421.29
* Microsoft.Extensions.Logging 7.0 -> 8.0.0-rc.1.23419.4
* Microsoft.Extensions.Logging.Abstractions 7.0.1 -> 8.0.0-rc.1.23419.4
* Microsoft.Extensions.Options 7.0.1 -> 8.0.0-rc.1.23419.4
* Microsoft.Extensions.Primitives 7.0 -> 8.0.0-rc.1.23419.4
* System.IO.Pipelines 7.0 -> 8.0.0-rc.1.23419.4
* System.Threading.Channels 7.0 -> 8.0.0-rc.1.23419.4
Total time taken: 50 seconds
All dependencies are up to date, yay!
C:\home\git\polyglot\apps\chat\contract\Cargo.toml
All dependencies are up to date, yay!
C:\home\git\polyglot\apps\chat\tests\Cargo.toml
Updating git repository `https://github.com/near/workspaces-rs`
Updating git repository `https://github.com/near/workspaces-rs`
chat
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
autocfg 1.1.0 --- Removed Build ---
equivalent 1.0.1 Removed --- Normal ---
hashbrown 0.12.3 --- 0.14.1 Normal ---
hashbrown 0.14.1 0.12.3 --- Normal ---
indexmap 1.9.3 --- 2.0.2 Normal ---
indexmap 2.0.2 1.9.3 --- Normal ---
C:\home\git\polyglot\apps\chat\ui\Cargo.toml
All dependencies are up to date, yay!
C:\home\git\polyglot\apps\dice\Cargo.toml
All dependencies are up to date, yay!
C:\home\git\polyglot\apps\dice\contract\Cargo.toml
All dependencies are up to date, yay!
C:\home\git\polyglot\apps\dice\tests\Cargo.toml
Updating git repository `https://github.com/near/workspaces-rs`
Updating git repository `https://github.com/near/workspaces-rs`
dice
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
autocfg 1.1.0 Removed Removed Build ---
hashbrown 0.12.3 0.14.1 0.14.1 Normal ---
indexmap 1.9.3 2.0.2 2.0.2 Normal ---
C:\home\git\polyglot\apps\plot\Cargo.toml
Updating git repository `https://github.com/plotters-rs/plotters.git`
Updating git repository `https://github.com/plotters-rs/plotters.git`
All dependencies are up to date, yay!
C:\home\git\polyglot\spiral\extension
> polyglot@ outdated-pre C:\home\git\polyglot\spiral\extension
> npm-check-updates --target greatest
Using pnpm
Checking C:\home\git\polyglot\spiral\extension\package.json
@playwright/test 1.38.0-beta-1691778350000 → 1.39.0-alpha-sep-30-2023
Run ncu --target greatest -u to upgrade package.json
C:\home\git\polyglot\apps\ipfs
> ipfs@ outdated-pre C:\home\git\polyglot\apps\ipfs
> npm-check-updates --target greatest
Using pnpm
Checking C:\home\git\polyglot\apps\ipfs\package.json
All dependencies match the greatest package versions :)
C:\home\git\polyglot
> polyglot@ outdated-pre C:\home\git\polyglot
> npm-check-updates --target greatest
Using pnpm
Checking C:\home\git\polyglot\package.json
All dependencies match the greatest package versions :)